# Methods and Properties

## Properties

### `Mount Montura`

> `{get; private set; }`
>
> [**Mount** ](/animal-controller/riding/mount.md)component of the animal stored when the Riders enters a [**Mount Trigger**](/animal-controller/riding/mount-triggers.md)

### `IAIControl MonturaAI`&#x20;

> `{get; private set; }`
>
> Store the [**AIAnimalControl**](/animal-controller/main-components/ai/ai-animal-control.md) attached to the  [**Mount** ](/animal-controller/riding/mount.md)Animal

### `IInputSource MountInput`&#x20;

> `{get; private set; }`
>
> Store the Input interface Attached to the Mount (Usually [**Malbers Input**](/animal-controller/main-components/malbers-input.md) component)

### `bool CanMount`&#x20;

> `{get; private set; }`
>
> Checks if the Rider **can** mount an Animal. It will be set to **true** if the Rider is inside a [**Mount Trigger**](/animal-controller/riding/mount-triggers.md)

### `bool CanDismount {get; private set; }`

> `{get; private set; }`
>
> Checks if the Rider **can** Dismount an Animal. The rider must be already mounted

### :star:`bool Mounted`

> `{get; private set; }`
>
> **True**: Rider starts Mounting and is mounted  **False**: Rider starts Dismounting and is dismounted. This value goes to the Animator as a parameter.

### `bool IsOnHorse`

> `{get; private set; }`
>
> This is **true** when the rider Finish ***Mounting ,*** and **False** when the rider Finish ***Dismounting***

### `bool CanCallAnimal`

> `{get; private set; }`
>
> Check if we can call a Mount. This is only true when we have a stored Mount on the Rider component and we are not mounting any animal.

### `float SpeedMultiplier`

> `{get; set; }`
>
> Speed Multiplier for the Animator Speeds Changes while using other Animals but the horse

### :star: `bool IsRiding`

> `{get;}`
>
> Returns **true** if the Rider is on the horse and Mount animations are finished

### :star: `bool IsMountingDismounting`

> `{get;}`
>
> Returns **true** if the Rider is from the Start of the Mount to the End of the Dismount

### :star: `bool IsMounting`

> `{get;}`
>
> Returns **true** if the Rider is between the **Start** and the **End** of the **Mount** Animations

### :star: `bool IsDismounting`

> `{get;}`
>
> Returns **true** if the Rider is between the **Start** and the **End** of the **Dismount** Animations

### **`Animator Anim`**

> `{get;}`
>
> Reference of the Animator Component

## Methods

### **`void MountAnimal()`**

> Execute the Logic for mounting an Animal.  **CanMount** must be **true.**&#x20;
>
> This method is usually called by a **Mount** Input&#x20;

![](/files/-M0QLnH8lGykR7EuXK90)

### **`void DismountAnimal()`**

> Execute the Logic for Dismounting an Animal.  **CanDismount** must be **true.**&#x20;
>
> This method is usually called by a **Dismount** Input&#x20;

![](/files/-M0QLcN_FM29pHU3PiAA)

### **`void Start_Mounted()`**

> Set all the correct attributes and variables to Start Mounted on the on Awake.
>
> this is called on **Start** when the **StartMounted** parameter is **true** and we have set a Stored Mounted.

![](/files/-M0QMI3lzXJFhAoJrlb-)

### `void StopMountAI()`

> If the [**Mount** ](/animal-controller/riding/mount.md)has a[ **AI Control Movement**](/animal-controller/main-components/ai/ai-animal-control.md) component it will stop the **Mount** from moving

### `void ForceDismount()`

> Forces the Rider to Dismount, Execute the StartDismount() and EndDismount() Methods.

### `void UpdateRiderTransform()`

> Updates the Rider Position to the Mount Point

### `void EnableMountInput(bool value)`

> Enable/Disable the Input for the Mount

### `void CallAnimal(bool value)`

> If the Animal has a IMountAI component and it can be called the Animal will walk towards the Rider

### `void CheckMountDismount()`

> Checks and Execute without Input if the Rider can Mount, Dismount or Call an Animal


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://malbersanimations.gitbook.io/animal-controller/riding/mrider/rider-mp.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
