### Projectile Weapon Setup Example Source: https://topdown-engine-docs.moremountains.com/weapons This guide demonstrates creating a simple projectile weapon by adding ProjectileWeapon and WeaponAim3D components, along with an MMSimpleObjectPooler. It details the required configurations for shooting. ```csharp // Add a ProjectileWeapon component to a gameobject. // Add a WeaponAim3D component and set AimControl to PrimaryMovement. // Add an MMSimpleObjectPooler component, set MutualizeWaitingPools to true, and assign a GameObjectToPool. // Configure spread and number of projectiles per shot in the object pooler's inspector. ``` -------------------------------- ### Start Cinemachine Zone Logic Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_tools_1_1_m_m_cinemachine_zone Handles the initial setup and configuration when the MMCinemachineZone starts. This includes setting up the confiner. ```csharp virtual void MoreMountains.Tools.MMCinemachineZone.Start() { // On Start we setup the confiner } ``` -------------------------------- ### Falling Platform Start Method Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_top_down_engine_1_1_falling_platform2_d The initial setup method for the falling platform, called once when the script instance is enabled. It performs essential initialization tasks. ```csharp virtual void MoreMountains.TopDownEngine.FallingPlatform2D.Start() { // Method implementation } ``` -------------------------------- ### Start Method - C# Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_top_down_engine_1_1_falling_platform3_d The Start method is called on the first frame of the FallingPlatform3D's lifecycle and is typically used for initial setup, including calling the Initialization method. ```csharp protected virtual void Start() { // Initial setup for the falling platform Initialization(); } ``` -------------------------------- ### DashZone3D Start Initialization Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_top_down_engine_1_1_dash_zone3_d The standard Unity Start method, used here to perform the initial setup and initialization of the dash zone. ```csharp protected virtual void Start() { // On start we initialize our zone } ``` -------------------------------- ### Start Method in C# Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_tools_1_1_m_m_path Handles the initial setup and execution when the component starts. This protected virtual void method is part of Unity's lifecycle and typically used for initialization. ```csharp protected virtual void MoreMountains.Tools.MMPath.Start() { // Implementation details } ``` -------------------------------- ### Configuring WeaponHandler, Switch, and ButtonActivatedZone in Unity Source: https://topdown-engine-docs.moremountains.com/recipes This example details the setup process in Unity for a button-activated weapon. It involves adding and configuring components like WeaponHandler, Switch, and ButtonActivatedZone on game objects. No external code is required, as this is a configuration guide within the Unity editor. ```text 1. In Unity, create a new project and import TopDown Engine v4.4. 2. Open MinimalScene3D. 3. Create an empty GameObject named 'WeaponHandler' at (3,0,3). 4. Add a 'WeaponHandler' component to it. 5. Nest an instance of the 'LoftAssaultRifle' prefab under 'WeaponHandler' at (0,0,0). 6. Set the nested prefab as the 'TargetWeapon' on the 'WeaponHandler' component. 7. Create a Cube GameObject at (0,0,3) and set its BoxCollider's 'IsTrigger' to true. 8. Add a 'Switch' component to the Cube. 9. On 'SwitchOn', target the 'WeaponHandler:StartShooting' method. 10. On 'SwitchOff', target the 'WeaponHandler:StopShooting' method. 11. Add a 'ButtonActivatedZone' component to the Cube. 12. Set 'OnActivation' to the 'Switch's 'ToggleSwitch' method. 13. Press play and interact with the cube using the spacebar to toggle the weapon on and off. ``` -------------------------------- ### FeedbackListOutputer: Installs optional dependencies for MMFeedbacks Source: https://topdown-engine-docs.moremountains.com/API/namespace_more_mountains_1_1_feedbacks The FeedbackListOutputer class automates the installation of optional dependencies required by MMFeedbacks. This simplifies the setup process for users by ensuring all necessary components are present. ```csharp class FeedbackListOutputer { // This class is used to automatically install optional dependencies used in MMFeedbacks } ``` -------------------------------- ### InventorySoundPlayer Setup and Event Handling Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_inventory_engine_1_1_inventory_sound_player-members Provides methods for initializing the InventorySoundPlayer and handling specific inventory events. The OnMMEvent method is designed to respond to MMInventoryEvent types, while SetupInventorySoundPlayer prepares the audio player for use. Start is a standard Unity lifecycle method. ```csharp public void OnMMEvent(T eventType) public virtual void SetupInventorySoundPlayer() protected virtual void Start() ``` -------------------------------- ### Feedback Initialization and Setup Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_for_third_party_1_1_m_m_f___exposure___h_d_r_p-members Methods involved in the initial setup and configuration of feedbacks. This covers custom initialization, resetting, and evaluating setup requirements. ```csharp CacheRequiresSetup() CustomInitialization(MMF_Player owner) EvaluateRequiresSetup() Initialization(MMF_Player owner, int index) InitializeCustomAttributes() AutomaticShakerSetup() AutomaticShakerSetupButton() ``` -------------------------------- ### Character Initialization (C#) Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_top_down_engine_1_1_character Performs the initial setup for the character, including getting and storing references to the input manager, camera, and other essential components. ```csharp protected virtual void Initialization() { // Implementation details... } ``` -------------------------------- ### Feedback Setup and Initialization Methods (C#) Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_for_third_party_1_1_m_m_f___u_i_toolkit_text-members This snippet details methods related to the setup and initialization procedures for feedbacks. It includes functions for automatic shaker setup, cache setup evaluation, and general initialization logic. ```csharp public virtual void AutomaticShakerSetup() public virtual bool CacheRequiresSetup() public virtual bool EvaluateRequiresSetup() public void InitializeCustomAttributes(); ``` -------------------------------- ### Setup and Initialization Checks in MoreMountains Feedbacks Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_for_third_party_1_1_m_m_f___n_v_emphasis-members Methods for checking and performing setup requirements for feedback effects. This includes evaluating if setup is required, caching setup status, and performing automatic shaker setup. ```csharp public virtual bool CacheRequiresSetup() public virtual bool EvaluateRequiresSetup() public virtual void AutomaticShakerSetup() public bool HasAutomaticShakerSetup ``` -------------------------------- ### Initialization and Setup Methods in MMF_Feedback Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_for_third_party_1_1_m_m_f___bloom___u_r_p-members Contains methods for initializing feedback, including custom initialization with an owner and index, and evaluating setup requirements. It also includes methods for automatic shaker setup and cache setup, allowing for efficient preparation and management of feedback components. ```csharp CacheRequiresSetup()| MoreMountains.Feedbacks.MMF_Feedback| virtual AutomaticShakerSetup()| MoreMountains.FeedbacksForThirdParty.MMF_Bloom_URP| virtual CustomInitialization(MMF_Player owner)| MoreMountains.Feedbacks.MMF_Feedback| protectedvirtual Initialization(MMF_Player owner, int index)| MoreMountains.Feedbacks.MMF_Feedback| virtual InitializeCustomAttributes()| MoreMountains.Feedbacks.MMF_Feedback| virtual ``` -------------------------------- ### Initialize and Setup Feedback Systems in MoreMountains Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_1_1_m_m_f___rotation-members Handles the initialization and setup requirements for feedback systems. This includes methods for caching setup information and evaluating if a setup is necessary, along with automatic shaker setup. ```csharp CacheRequiresSetup()| MoreMountains.Feedbacks.MMF_Feedback| EvaluateRequiresSetup()| MoreMountains.Feedbacks.MMF_Feedback| AutomaticShakerSetup()| MoreMountains.Feedbacks.MMF_Feedback| HasAutomaticShakerSetup| MoreMountains.Feedbacks.MMF_Feedback| ``` -------------------------------- ### Melee Weapon Setup Example Source: https://topdown-engine-docs.moremountains.com/weapons This section outlines the steps to create a functional melee weapon by adding a MeleeWeapon component and configuring its inspector parameters in Unity. It also covers binding animations to the attack. ```csharp // Add a MeleeWeapon component to an empty gameobject // Configure parameters like Trigger Mode, Damage Area Shape, Size, Offset, Active Duration, Damage Caused Target Layer mask, and Damage Caused. // Bind an animation by creating an Animator parameter (e.g., "MeleeAttackStart") and setting the StartAnimation field in the MeleeWeapon inspector. ``` -------------------------------- ### Feedback Initialization in MoreMountains Feedbacks Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_for_third_party_1_1_m_m_f___white_balance___u_r_p Initializes the feedback and its timing-related variables, typically running on Start. This is the primary setup method for feedback components. ```csharp virtual void Initialization (MMF_Player owner, int index) | Typically runs on Start, Initializes the feedback and its timing related variables ``` -------------------------------- ### Feedback Initialization and Setup Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_for_third_party_1_1_m_m_f___chromatic_aberration-members Functions related to the initialization and setup of feedback systems. This includes custom initialization with an owner, internal setup routines, and automatic setup for specific components like the shaker. ```csharp virtual void AutomaticShakerSetup() {} protectedvirtual void CustomInitialization(MMF_Player owner) {} virtual void Initialization(MMF_Player owner, int index) {} virtual void InitializeCustomAttributes() {} virtual void CacheRequiresSetup() {} virtual void EvaluateRequiresSetup() {} protectedvirtual void AutomateTargetAcquisitionInternal() {} protectedvirtual void CustomReset() {} protectedvirtual void CustomRestoreInitialValues() {} ``` -------------------------------- ### Character Initialization and Setup Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_inventory_engine_1_1_inventory_demo_character This snippet covers the initialization logic for the character controller. The Start function initializes the character's animator and Rigidbody2D components, while OnEnable and OnDisable handle event listening for inventory updates. ```csharp protected virtual void Start () { // On Start, we store the character's animator and rigidbody } protected virtual void OnEnable () { // On Enable, we start listening to MMInventoryEvents } protected virtual void OnDisable () { // On Disable, we stop listening to MMInventoryEvents } ``` -------------------------------- ### MoreMountains Feedback Initialization and Setup Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_for_third_party_1_1_m_m_f___bloom___h_d_r_p-members Methods for initializing and setting up feedback components. This includes automatic setup for shakers, custom initialization, and general setup evaluation. ```csharp AutomaticShakerSetup() CacheRequiresSetup() CustomInitialization(MMF_Player owner) Initialization(MMF_Player owner, int index) InitializeCustomAttributes() EvaluateRequiresSetup() ``` -------------------------------- ### Initialization and Setup Methods in MoreMountains Feedbacks Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_1_1_m_m_f___camera_orthographic_size-members Covers methods related to the initial setup and pre-initialization of feedback components. This includes preparing the feedback player and handling setup requirements. ```csharp PreInitialization(MMF_Player owner, int index) RequiresSetup() RequiresSetupText() ``` -------------------------------- ### Start() Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_tools_1_1_m_m_sound_manager On Start, load and apply saved settings if needed. ```APIDOC ## POST /api/MMSoundManager/Start ### Description On Start, load and apply saved settings if needed. This is done on Start and not Awake because of a bug in Unity's AudioMixer API. ### Method POST ### Endpoint /api/MMSoundManager/Start ### Parameters No parameters required. ### Request Example (No request body) ### Response #### Success Response (200) - **message** (string) - Operation successful. #### Response Example { "message": "Start sequence initiated, settings loaded." } ``` -------------------------------- ### Start Setup Confiner in C# Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_top_down_engine_1_1_top_down_cinemachine_zone2_d Sets up the confiner when the game starts. This method is called once at the beginning of the script's lifecycle, after Awake and AlwaysInitialization, to finalize the camera confiner setup. ```csharp protected virtual void Start () { // Implementation details for Start } ``` -------------------------------- ### Initialization and Setup Checks Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_for_third_party_1_1_m_m_f___vignette-members Methods for evaluating the setup requirements and performing initial value settings for feedback effects. ```csharp CacheRequiresSetup() EvaluateRequiresSetup() ForceInitialValue(Vector3 position, float feedbacksIntensity=1.0f) ForceInitialValueDelayedCo(Vector3 position, float feedbacksIntensity=1.0f) ``` -------------------------------- ### Feedback Initialization and Setup Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_1_1_m_m_f___camera_orthographic_size Methods for initializing, setting up, and managing the lifecycle of feedback components within the MoreMountains engine. These include pre-initialization, main initialization, and handling attribute setup. ```csharp virtual void | PreInitialization (MMF_Player owner, int index) | Runs at Awake, lets you preinitialize your custom feedback before Initialization More... virtual void | Initialization (MMF_Player owner, int index) | Typically runs on Start, Initializes the feedback and its timing related variables More... virtual void | InitializeCustomAttributes () | Use this method to initialize any custom attributes you may have More... virtual void | CacheRequiresSetup () virtual bool | EvaluateRequiresSetup () | Override this method to determine if a feedback requires setup More... virtual void | OnAddFeedback () | Triggered when the feedback gets added to the player More... virtual void | OnDestroy () | Triggered when that feedback gets destroyed More... virtual void | OnDisable () | Triggered when the host MMF Player gets disabled More... virtual void | OnValidate () | Triggered when a change happens in the inspector More... virtual void | OnDrawGizmosSelectedHandler () | Triggered when the host MMF Player gets selected, can be used to draw gizmos More... ``` -------------------------------- ### Feedback Initialization and Setup Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_1_1_m_m_f___t_m_p_softness Methods for initializing and setting up feedback components. Includes initial setup, pre-initialization before awake, and handling feedback acquisition. ```csharp public virtual void PreInitialization (MMF_Player owner, int index) /* | Runs at Awake, lets you preinitialize your custom feedback before Initialization */ public virtual void Initialization (MMF_Player owner, int index) /* | Typically runs on Start, Initializes the feedback and its timing related variables */ virtual void AutomaticShakerSetup () /* | Call this method (either directly or via the inspector button) to try and automatically setup this feedback's corresponding shaker in the scene */ virtual void ForceAutomateTargetAcquisition () /* | Lets you force target acquisition, outside of initialization where it usually occurs */ virtual void InitializeCustomAttributes () /* | Use this method to initialize any custom attributes you may have */ ``` -------------------------------- ### C# MMPersistentBase GUID Management Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_tools_1_1_m_m_persistent_base This snippet demonstrates methods for generating, getting, setting, and validating unique identifiers (GUIDs) for persistent objects. It includes functions to check GUID uniqueness and to ensure a valid GUID is assigned during validation. This class is intended to be extended. ```C# public class MMPersistentBase : IMMPersistent { protected string _guid; public bool SaveActive = true; public string UniqueIDSuffix; public bool GenerateGuidButton; public virtual string GetGuid() { // Returns the object's GUID return _guid; } public virtual void SetGuid(string newGUID) { // Lets you set the object's GUID _guid = newGUID; } public virtual string OnSave() { // On save, does nothing, meant to be extended return ""; } public virtual void OnLoad(string data) { // On load, does nothing, meant to be extended } public virtual bool ShouldBeSaved() { // Lets the persistence manager know whether or not the object should be saved return SaveActive; } public virtual string GenerateGuid() { // Generates a unique ID for the object, using the scene name, the object name, and a GUID // Implementation details would be here return ""; // Placeholder } public virtual bool GuidIsUnique(string guid) { // Checks if the object's ID is unique or not // Implementation details would be here return false; // Placeholder } public virtual void ValidateGuid() { // Validates the object's GUID, and generates a new one if needed, until a unique one is found // Implementation details would be here } protected virtual void OnValidate() { // On validate, we make sure the object gets a valid GUID // Implementation details would be here } } ``` -------------------------------- ### Shaker Setup and Initialization - MoreMountains.Feedbacks Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_for_third_party_1_1_m_m_f___u_i_toolkit_visible-members Handles the setup and initialization of automatic shakers. This includes methods for automatic setup and checking if a setup is required. ```csharp public virtual void AutomaticShakerSetup() { // Implementation details for automatic shaker setup } ``` ```csharp public virtual bool CacheRequiresSetup() { // Implementation details for checking if cache requires setup return false; } ``` ```csharp public virtual bool EvaluateRequiresSetup() { // Implementation details for evaluating if setup is required return false; } ``` -------------------------------- ### Start Function Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_top_down_engine_1_1_weapon The virtual Start function is called once when the weapon is initialized. It is used for initial setup and configuration, such as initializing weapon components. ```csharp protected virtual void Start() { // On start we initialize our weapon } ``` -------------------------------- ### Get Setup Required Text Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_1_1_m_m_f___feedback Defines the text displayed to the user if the feedback requires additional setup. ```csharp virtual string MoreMountains.Feedbacks.MMF_Feedback.RequiresSetupText => "This feedback requires some additional setup."; ``` -------------------------------- ### Pre-Initialization Logic Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_for_third_party_1_1_m_m_f___u_i_toolkit_size-members Performs setup before the main initialization of the feedback player. This virtual method allows for preparatory actions. ```csharp public virtual void PreInitialization(MMF_Player owner, int index) { // Base pre-initialization logic } ``` -------------------------------- ### Get Feedback Start Timestamp Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_1_1_m_m_f___blink Returns the timestamp when the feedback was started. If the application is not playing, it returns -1f. This is a read-only float property. ```csharp virtual float | FeedbackStartedAt => Application.isPlaying ? _lastPlayTimestamp : -1f ``` -------------------------------- ### Start Method in MMCinemachineZone Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_top_down_engine_1_1_top_down_cinemachine_zone2_d-members The Start method is a protected virtual function within the MMCinemachineZone class, called when the script instance is being loaded. It is typically used for initialization tasks, such as setting up initial states or referencing other components. SetupConfinerOnStart is likely called within this method. ```csharp protected virtual void Start() { // Implementation details for starting the zone } ``` -------------------------------- ### Get Feedback Setup Warning Text Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_1_1_m_m_f___blink Provides the text displayed when a feedback requires additional setup. This is a read-only string property. ```csharp virtual string | RequiresSetupText => "This feedback requires some additional setup." | defines the setup text that will be displayed on the feedback, should setup be required More... ``` -------------------------------- ### WelcomeWindow Static Methods and Attributes (C#) Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_top_down_engine_1_1_welcome_window This snippet showcases the static members of the WelcomeWindow class, including the ShowWindow method to display the welcome window and various static string constants for package IDs, versions, and the documentation URL. These are used for managing project dependencies and providing links to external resources. ```csharp namespace MoreMountains.TopDownEngine { public class WelcomeWindow { // ... other members ... /// /// Shows the welcome window. /// public static void ShowWindow() { // Implementation to show the welcome window } public const string PostProcessingPackageID = "com.unity.postprocessing"; public static string PostProcessingPackageVersionID = "com.unity.postprocessing@2.1.3"; public static string CinemachinePackageID = "com.unity.cinemachine"; public static string CinemachinePackageVersionID = "com.unity.cinemachine@2.3.3"; public static string PixelPerfectPackageID = "com.unity.2d.pixel-perfect"; public static string PixelPerfectPackageVersionID = "com.unity.2d.pixel-perfect@1.0.1-preview"; public const string DOCUMENTATION_URL = "https://topdown-engine-docs.moremountains.com/"; public static string RelativePath = ""; // ... other members ... } } ``` -------------------------------- ### Feedback Target and Setup Text (C#) Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_1_1_m_m_f___rotation_shake Virtual string properties that define the required target for a feedback and the associated setup or additional information text. These are used to guide the user during setup and in the inspector. ```csharp virtual string | RequiredTarget => _requiredTarget virtual string | RequiresSetupText => "This feedback requires some additional setup." virtual string | RequiredTargetText => "" virtual string | RequiredTargetTextExtra => "" ``` -------------------------------- ### Get Setup Required Text Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_for_third_party_1_1_m_m_f___u_i_toolkit_class Defines the text to be displayed when additional setup is required for the feedback. This is a virtual string property. ```csharp virtual string | RequiresSetupText => "This feedback requires some additional setup." | defines the setup text that will be displayed on the feedback, should setup be required ``` -------------------------------- ### Initialization and Setup in MoreMountains Feedbacks Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_for_third_party_1_1_m_m_f___white_balance___h_d_r_p-members Covers methods and properties related to the setup and initialization of feedback components. This includes caching requirements, automatic shaker setup, and general initialization procedures. ```csharp CacheRequiresSetup() AutomaticShakerSetup() AutomaticShakerSetupButton HasAutomaticShakerSetup Initialization(MMF_Player owner, int index) InitializeCustomAttributes() ``` -------------------------------- ### Get Feedback Setup Warning Text Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_for_third_party_1_1_m_m_f___cinemachine_impulse_source Defines the text that will be displayed to indicate if setup is required for the feedback. This is a virtual string property. ```csharp virtual string | RequiresSetupText => "This feedback requires some additional setup." | defines the setup text that will be displayed on the feedback, should setup be required ``` -------------------------------- ### Setup Character Inventory in C# Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_top_down_engine_1_1_character_inventory The Setup method is a protected virtual method responsible for the initial setup of the character's inventory. This includes fetching all available inventories and populating the weapon lists, ensuring the inventory system is ready for use. ```csharp protected virtual void Setup() { // Initial setup logic for the character inventory } ``` -------------------------------- ### Get Feedback Started Timestamp Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_1_1_m_m_f___spring_vector4 Returns the timestamp when the feedback was last started. If the application is not playing, it returns -1f. This is a virtual float property. ```csharp virtual float | FeedbackStartedAt => Application.isPlaying ? _lastPlayTimestamp : -1f; ``` -------------------------------- ### Initialization and Player Completion Methods in MMF_Feedback Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_1_1_m_m_f___m_m_sound_manager_track_control-members These methods handle the initial setup and finalization of feedback playback. PreInitialization is called before the feedback starts, and PlayerComplete is called when the feedback has finished its playback cycle. These are important for integrating feedback into larger systems. ```csharp public virtual void PreInitialization(MMF_Player owner, int index) public virtual void PlayerComplete() ``` -------------------------------- ### Package Installation API Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_top_down_engine_1_1_package_installation-members Provides static methods to manage the installation of the TopDownEngine package. ```APIDOC ## MoreMountains.TopDownEngine.PackageInstallation ### Description This class provides static methods for managing the installation of the TopDownEngine package. ### Methods #### Install ##### Description Installs a specific version of the package. ##### Method `static` ##### Parameters - **packageVersionID** (string) - Required - The ID of the package version to install. #### IsInstalled ##### Description Checks if a specific package is installed. ##### Method `static` ##### Parameters - **packageID** (string) - Required - The ID of the package to check. ### Request Example ```json { "Install": "com.moremountains.topdownengine.v1.2.3", "IsInstalled": "com.moremountains.topdownengine" } ``` ### Response #### Success Response (200) - **Install**: void - **IsInstalled**: boolean #### Response Example ```json { "IsInstalled": true } ``` ``` -------------------------------- ### Feedback Initialization and Setup Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_for_third_party_1_1_m_m_f___panini_projection___u_r_p-members This section covers the initialization and setup procedures for feedback components. It includes methods for custom initialization, general initialization with player and index, and evaluating setup requirements. These methods are part of the MMF_Feedback class. ```csharp CacheRequiresSetup() CustomInitialization(MMF_Player owner) EvaluateRequiresSetup() Initialization(MMF_Player owner, int index) InitializeCustomAttributes() ``` -------------------------------- ### MMLookAtShaker: Shake Starts Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_1_1_m_m_look_at_shaker-members Handles logic when a shake action begins. This protected virtual method is called at the start of a look-at effect, potentially for setup or to flag the beginning of the process. ```csharp protected virtual void ShakeStarts() { // Implementation details } ``` -------------------------------- ### Initialization Logic in DamageOnTouch Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_top_down_engine_1_1_damage_on_touch Performs initial setup for the DamageOnTouch system, including initializing the ignore list, feedbacks, colliders, and grabbing components. This is a core setup method. ```csharp public virtual void Initialization() { // Initialize ignore list, feedbacks, colliders and grab components } ``` -------------------------------- ### Feedback and Player Initialization Methods Source: https://topdown-engine-docs.moremountains.com/API/functions_p Lists methods involved in the initialization process for various feedback and player-related components. These methods prepare systems before gameplay starts. ```csharp using UnityEngine; public class MMF_Feedback : MonoBehaviour { public virtual void PreInitialization() { /* ... */ } } public class MMF_Player : MMF_Feedback { public override void PreInitialization() { /* ... */ } } public class MMTimeManager : MonoBehaviour { public void PreInitialization() { /* ... */ } } public class CharacterAbility : MonoBehaviour { public void PreInitialization() { /* ... */ } } public class CharacterHandleWeapon : MonoBehaviour { public void PreInitialization() { /* ... */ } } public class InputManager : MonoBehaviour { public void PreInitialization() { /* ... */ } } ``` -------------------------------- ### Start Character Ability (C#) Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_top_down_engine_1_1_character_surface_sounds-members Initializes and starts the character ability component. This protected virtual method is typically called by the engine during the initial setup phase of the game object. ```csharp protectedvirtual void Start() { // Implementation for starting the ability component } ``` -------------------------------- ### ForceInitialValue to Set Starting State Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_1_1_m_m_f___debug_break Forces the feedback to set its initial value, effectively placing it at its starting state. The behavior varies between feedback types; for example, a position feedback would move to its starting point. It takes a Vector3 for position and an optional float for intensity. ```csharp virtual void ForceInitialValue (Vector3 position, float feedbacksIntensity=1.0f) { // Forces the feedback to set its initial value (behavior will change from feedback to feedback, but for example, a Position feedback that moves a Transform from point A to B would automatically move the Transform to point A when ForceInitialState is called } ``` -------------------------------- ### Shaker Setup and Initialization Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_for_third_party_1_1_m_m_f___visual_effect-members These methods pertain to the automatic setup of shakers and the evaluation of whether setup is required. They are virtual, allowing for custom behavior in derived classes. ```csharp AutomaticShakerSetup() virtual EvaluateRequiresSetup() CacheRequiresSetup() ``` -------------------------------- ### Initialization in DeadlineStar Start Method (C#) Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_top_down_engine_1_1_deadline_star The Start method in DeadlineStar is overridden to perform initial setup. Specifically, it checks if the star needs to be disabled upon initialization, likely based on whether it has been collected previously. ```csharp protected virtual void Start () { // ... implementation details for disabling the star if needed on start } ``` -------------------------------- ### CharacterAbility Initialization Methods Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_top_down_engine_1_1_character_pause-members Methods related to the initialization and setup of character abilities. These include ForceInitialization, Initialization, PreInitialization, and Start. ```csharp public virtual void ForceInitialization(); protected virtual void Initialization(); protected virtual void PreInitialization(); protected virtual void Start(); ``` -------------------------------- ### Setup and Initialization Logic in MMF_Feedback Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_for_third_party_1_1_m_m_f___cinemachine_transition-members Methods for evaluating and performing setup operations required for feedbacks. This includes checking if setup is required, initializing custom attributes, and the main initialization process involving the MMF_Player owner and index. These are virtual methods. ```csharp CacheRequiresSetup() EvaluateRequiresSetup() Initialization(MMF_Player owner, int index) InitializeCustomAttributes() ``` -------------------------------- ### Feedback Initialization and Setup Checks in C# Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_for_third_party_1_1_m_m_f___chromatic_aberration___h_d_r_p-members Manages the initialization of feedback sequences and checks if setup is required. The `Initialization` method sets up the feedback for a specific player and index, while `CacheRequiresSetup` and `EvaluateRequiresSetup` are virtual methods used to determine if setup operations are needed before the feedback can be used effectively. ```csharp virtual void Initialization(MMF_Player owner, int index) { // Initialization logic } bool CacheRequiresSetup() { // Check if cache requires setup return false; } virtual bool EvaluateRequiresSetup() { // Evaluate if setup is required return false; } ``` -------------------------------- ### MMHealthBar Setup and Configuration Source: https://topdown-engine-docs.moremountains.com/health-damage Guide on how to add and configure the MMHealthBar helper component to visually display health. ```APIDOC ## MMHealthBar Helper ### Description The `MMHealthBar` is a helper component provided by the TopDown Engine to visually display the current health of an object. This section covers its setup and configuration options. ### Setup Steps 1. Ensure Unity version 6000.0.23f1 or higher is used. 2. Import the TopDown Engine v4.4 via the Package Manager. 3. Open the relevant scene (e.g., `KoalaDungeon`). 4. Add a prefab with a `Health` component (e.g., `DungeonPot`) to the scene and position it. 5. Set the `Health` component's `Initial` and `Maximum Health` values (e.g., to 300). 6. Add the `MMHealthBar` component to the same GameObject. 7. Configure `MMHealthBar` settings, such as `SortingLayerName` (e.g., 'Above'). 8. Press play to observe the health bar updating as the object takes damage. ### Inspector Configuration * **Drawn Mode**: * Allows direct customization of the health bar's appearance within the inspector. * **Prefab Mode**: * Requires specifying a prefab to be instantiated and used as the health bar. * **Display Section**: * `Always Visible` (bool): If true, the health bar is always displayed. * `Only on Hit` (bool): If true, the health bar is only displayed when the object takes damage. ``` -------------------------------- ### Feedback Setup and Target Properties Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_for_third_party_1_1_m_m_f___color_grading Properties related to the setup requirements and target acquisition for feedback. This includes flags to indicate if setup is required, text descriptions for setup and target needs, and whether automatic target acquisition is supported. ```csharp virtual bool | RequiresSetup => _requiresSetup virtual string | RequiresSetupText => "This feedback requires some additional setup." virtual string | RequiredTarget => _requiredTarget virtual string | RequiredTargetText => "" virtual string | RequiredTargetTextExtra => "" virtual bool | HasAutomatedTargetAcquisition => false ``` -------------------------------- ### Setup and Initialization Functions in MoreMountains Feedbacks Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_1_1_m_m_f___freeze_frame These functions handle the setup, initialization, and configuration of MoreMountains Feedbacks. They include methods for automatic setup, pre-initialization, and core initialization tasks. ```csharp void AutomaticShakerSetup () // Automatically adds a MMTimeManager to the scene. void PreInitialization (MMF_Player owner, int index) // Runs at Awake, lets you preinitialize your custom feedback before Initialization. void Initialization (MMF_Player owner, int index) // Typically runs on Start, Initializes the feedback and its timing related variables. void InitializeCustomAttributes () // Use this method to initialize any custom attributes you may have. ``` -------------------------------- ### Initialization and Setup Methods - MoreMountains.Feedbacks.MMF_Feedback Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_1_1_m_m_f___rotation-members Methods related to the initialization and setup of feedback components. These are crucial for preparing the feedback system before use. ```csharp public virtual void Initialization(MMF_Player owner, int index); public virtual void InitializeCustomAttributes(); public virtual void PreInitialization(MMF_Player owner, int index); ``` -------------------------------- ### ForceInitialValue - MMF_Feedback Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_1_1_m_m_f___trail_renderer Sets the feedback to its initial state or value. For example, a position feedback would move a Transform back to its starting point. ```csharp virtual void ForceInitialValue (Vector3 position, float feedbacksIntensity=1.0f) { // Forces the feedback to set its initial value } ``` -------------------------------- ### MMSequencer Initialization and Setup (C#) Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_1_1_m_m_sequencer Provides methods for setting up track events and handling initialization tasks for the MMSequencer. This ensures the sequencer is correctly configured before playback. ```csharp virtual void SetupTrackEvents () // Adds or rebuilds to the event list ``` -------------------------------- ### C# CharacterRotateCamera OnEnable Method Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_top_down_engine_1_1_character_rotate_camera Handles setup when the ability is enabled, starting to listen for events. This overrides the method from CharacterAbility. ```csharp protected virtual void OnEnable() { // On enable we start listening for events } ``` -------------------------------- ### Start Recording Logic for MMInputSequenceRecorder Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_1_1_m_m_input_sequence_recorder The Start method initiates a recording if necessary when the script starts. This protected virtual method is part of the standard Unity lifecycle. ```csharp protected virtual void Start() { // On Start, starts a recording if needed } ``` -------------------------------- ### Initialize Game Points and Countdowns Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_top_down_engine_1_1_explodudes_multiplayer_level_manager Initializes game points and countdowns upon the start of the game. This function is part of the core game loop setup. ```csharp override void Initialization () | On init, we initialize our points and countdowns More... ``` -------------------------------- ### Initialization Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_tools_1_1_m_m_additive_scene_loading_manager This virtual void method initializes the timescale, performs null checks, and starts the scene load sequence. It is a core part of the manager's setup. ```csharp protected virtual void Initialization() { // Implementation for initialization } ``` -------------------------------- ### Initializing and Preparing Feedbacks Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_1_1_m_m_f___player-members Methods for the initial setup and preparation of the MMF_Player. PreInitialization prepares the system, while PreparePlay sets up playback parameters before execution. ```csharp public virtual void PreInitialization(); protected virtual void PreparePlay(Vector3 position, float feedbacksIntensity, bool forceChangeDirection = false); ``` -------------------------------- ### Get Elapsed Running Time of Level Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_top_down_engine_1_1_explodudes_multiplayer_level_manager Calculates and provides the elapsed time since the level started. This property is useful for tracking game duration. ```csharp virtual TimeSpan RunningTime { get; } | the elapsed time since the start of the level More... ``` -------------------------------- ### Feedback Initialization and Setup Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_for_third_party_1_1_m_m_f___chromatic_aberration___h_d_r_p-members Handles the initial setup and preparation of feedback components. This includes methods for pre-initialization with owner and index information, as well as validating feedback properties during development. ```csharp public virtual void PreInitialization(MMF_Player owner, int index); public virtual void OnValidate(); public bool RequiresSetup; public string RequiresSetupText; ``` -------------------------------- ### Get Inverse Grid Direction Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_top_down_engine_1_1_character_grid_movement Returns the opposite direction of a given GridDirection. For example, the inverse of 'Up' is 'Down'. This is a protected virtual function. ```csharp protected virtual GridDirections GetInverseDirection(GridDirections _direction) { // Logic to return the opposite direction return GridDirections.None; } ``` -------------------------------- ### Feedback Properties: String for Setup and Target Information Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_1_1_m_m_f___animator_speed This snippet showcases virtual string properties used for providing descriptive text related to feedback setup and required targets. These properties allow for customizable messages displayed to the user, guiding them on any necessary configurations or target specifications for the feedback to function correctly. ```csharp virtual string | RequiredTarget => _requiredTarget; virtual string | RequiresSetupText => "This feedback requires some additional setup."; virtual string | RequiredTargetText => ""; virtual string | RequiredTargetTextExtra => ""; ``` -------------------------------- ### Initializing and Setting Up Feedbacks Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_for_third_party_1_1_m_m_f___u_i_toolkit_border_width-members Methods related to the initialization and setup phases of feedbacks, including custom attribute initialization and owner assignment. ```csharp public virtual void Initialization(MMF_Player owner, int index) { // Implementation details... } ``` ```csharp public virtual void InitializeCustomAttributes() { // Implementation details... } ``` ```csharp public virtual void PreInitialization(MMF_Player owner, int index) { // Implementation details... } ``` -------------------------------- ### DeadlineLevelSelectionButton: Start Method Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_top_down_engine_1_1_deadline_level_selection_button The entry point for the DeadlineLevelSelectionButton class when the game object is initialized. It is responsible for performing initial setup procedures, ensuring the button is ready for interaction. ```csharp protected virtual void Start () { // On start we initialize our setup } ``` -------------------------------- ### Get Pooled GameObject Sequentially by Original Order Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_tools_1_1_m_m_multiple_object_pooler Sequentially retrieves GameObjects from the pool based on the original setup order, considering one of each type irrespective of their pool sizes. ```csharp protected virtual GameObject MoreMountains.Tools.MMMultipleObjectPooler.GetPooledGameObjectOriginalOrderSequential() { // Implementation details here return null; } ``` -------------------------------- ### Feedback Setup and Initialization - C# Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_for_third_party_1_1_m_m_f___color_grading-members Methods for setting up and initializing feedbacks, including automatic shaker setup and general initialization with an owner and index. These are often virtual or protected virtual, allowing for customization. ```csharp AutomaticShakerSetup() CacheRequiresSetup() EvaluateRequiresSetup() Initialization(MMF_Player owner, int index) InitializeCustomAttributes() ``` -------------------------------- ### Get Pooled GameObject by Original Order Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_tools_1_1_m_m_multiple_object_pooler Attempts to find a GameObject from the pool based on the original setup order, ensuring one of each type is considered regardless of pool sizes. ```csharp protected virtual GameObject MoreMountains.Tools.MMMultipleObjectPooler.GetPooledGameObjectOriginalOrder() { // Implementation details here return null; } ``` -------------------------------- ### Feedback Setup and Initialization Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_for_third_party_1_1_m_m_f___chromatic_aberration___u_r_p Functions related to the initial setup, configuration, and validation of feedback components within the MoreMountains Feedbacks system. This includes automatic setup, custom initialization, and inspector validation. ```C# void AutomaticShakerSetup () | Automatically sets up the post processing profile and shaker. virtual void PreInitialization (MMF_Player owner, int index) | Runs at Awake, lets you preinitialize your custom feedback before Initialization. virtual void Initialization (MMF_Player owner, int index) | Typically runs on Start, Initializes the feedback and its timing related variables. virtual void InitializeCustomAttributes () | Use this method to initialize any custom attributes you may have. virtual void OnValidate () | Triggered when a change happens in the inspector. virtual void OnAddFeedback () | Triggered when the feedback gets added to the player. virtual void OnDestroy () | Triggered when that feedback gets destroyed. virtual void OnDisable () | Triggered when the host MMF Player gets disabled. virtual void OnDrawGizmosSelectedHandler () | Triggered when the host MMF Player gets selected, can be used to draw gizmos. ``` -------------------------------- ### Setup and Initialization of Feedbacks Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_for_third_party_1_1_m_m_f___exposure___h_d_r_p Functions related to setting up, initializing, and configuring feedbacks within the MoreMountains system. This includes automatic setup, pre-initialization, and handling custom attribute initialization. ```csharp void AutomaticShakerSetup () | Automatically sets up the post processing profile and shaker. virtual void PreInitialization (MMF_Player owner, int index) | Runs at Awake, lets you preinitialize your custom feedback before Initialization. virtual void Initialization (MMF_Player owner, int index) | Typically runs on Start, Initializes the feedback and its timing related variables. virtual void InitializeCustomAttributes () | Use this method to initialize any custom attributes you may have. ``` -------------------------------- ### Get Time - MMBlink Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_1_1_m_m_blink Returns the current time, typically the time since the start of the game or scene. Used for tracking durations and timing events. ```csharp public virtual float GetTime() { // Implementation details for getting time return 0f; // Placeholder } ``` -------------------------------- ### MMF_Feedback: ForceInitialValue Method Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_1_1_m_m_f___player_control Forces the feedback to set its initial value. The behavior varies by feedback type; for example, a Position feedback would move a Transform to its starting point. ```csharp virtual void ForceInitialValue (Vector3 position, float feedbacksIntensity=1.0f) // Forces the feedback to set its initial value (behavior will change from feedback to feedback, but for example, a Position feedback that moves a Transform from point A to B would automatically move the Transform to point A when ForceInitialState is called ``` -------------------------------- ### Handle Character Enable for Persistence - C# Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_top_down_engine_1_1_character_persistence Manages setup actions when the character persistence component is enabled. It starts listening for relevant events to enable persistence functionality. ```csharp protected virtual void OnEnable() { // Start listening for events on enable } ``` -------------------------------- ### Feedback Initialization and Setup Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_for_third_party_1_1_m_m_f___u_i_toolkit_opacity-members Methods for setting up and initializing feedbacks, including automatic shaker setup and caching requirements. ```csharp AutomaticShakerSetup()| MoreMountains.Feedbacks.MMF_Feedback| virtual CacheRequiresSetup()| MoreMountains.Feedbacks.MMF_Feedback| virtual ``` -------------------------------- ### Feedback Initialization and Setup Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_for_third_party_1_1_m_m_f___film_grain___u_r_p-members Handles the initial setup and configuration of feedback systems, including caching and custom attributes. ```csharp CacheRequiresSetup() CustomInitialization(MMF_Player owner) Initialization(MMF_Player owner, int index) InitializeCustomAttributes() ``` -------------------------------- ### Initialize Ability Components Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_top_down_engine_1_1_character_ability Responsible for getting and storing necessary components for the ability's operation. This method is called during the initial setup of the ability and is often reimplemented to cache references. ```csharp protected virtual void Initialization() { // Component caching and initialization logic } ``` -------------------------------- ### Forcing Initial Feedback Value in MoreMountains Feedbacks Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_for_third_party_1_1_m_m_f___white_balance___u_r_p Sets the feedback to its initial state or value. For example, a position feedback might move a transform to its starting point. ```csharp virtual void ForceInitialValue (Vector3 position, float feedbacksIntensity=1.0f) | Forces the feedback to set its initial value (behavior will change from feedback to feedback, but for example, a Position feedback that moves a Transform from point A to B would automatically move the Transform to point A when ForceInitialState is called ``` -------------------------------- ### WeaponLaserSight Initialization Methods Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_top_down_engine_1_1_weapon_laser_sight Provides methods for initializing and setting up the laser sight. These include the main Initialization, Start, and LateUpdate methods which handle the laser's creation and drawing. ```csharp protected virtual void Initialization() protected virtual void Start() protected virtual void LateUpdate() ``` -------------------------------- ### MMShaker: Get Time Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_for_third_party_1_1_m_m_cinemachine_orthographic_size_shaker-members Retrieves the current game time. This is a virtual method, allowing for potential custom implementations or overrides in derived classes, for example, to use unscaled time. ```csharp GetTime() ``` -------------------------------- ### Feedback Initialization and Setup Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_1_1_m_m_f___t_m_p_softness Functions related to initializing, setting up, and preparing feedbacks for use. ```APIDOC ## Feedback Initialization and Setup ### Description Functions for initializing, setting up, and preparing feedbacks for use within the MMF_Player. ### Methods #### `OnValidate()` - **Description**: Called in the editor to initialize curve conditions if needed. - **Method**: `void` - **Endpoint**: N/A (Editor function) #### `PreInitialization(MMF_Player owner, int index)` - **Description**: Runs at Awake, allowing preinitialization of custom feedback before `Initialization`. - **Method**: `void` - **Endpoint**: N/A #### `Initialization(MMF_Player owner, int index)` - **Description**: Typically runs on Start, initializes the feedback and its timing-related variables. - **Method**: `void` - **Endpoint**: N/A #### `SetFeedbackDuration(float newDuration)` - **Description**: Changes the duration of this feedback at runtime. - **Method**: `void` - **Endpoint**: N/A #### `SetIndexInFeedbacksList(int index)` - **Description**: Specifies the index of this feedback in the list. Use with caution. - **Method**: `void` - **Endpoint**: N/A #### `InitializeCustomAttributes()` - **Description**: Initializes any custom attributes defined for the feedback. - **Method**: `void` - **Endpoint**: N/A #### `CacheRequiresSetup()` - **Description**: Caches the setup requirements for the feedback. - **Method**: `void` - **Endpoint**: N/A #### `EvaluateRequiresSetup()` - **Description**: Overridable method to determine if a feedback requires setup. - **Method**: `bool` - **Endpoint**: N/A #### `ComputeTotalDuration()` - **Description**: Computes the total duration of the feedback, considering various factors. - **Method**: `void` - **Endpoint**: N/A ``` -------------------------------- ### Character Ability Initialization Methods Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_top_down_engine_1_1_character_push3_d-members Provides methods for initializing and resetting character abilities. These include `Awake`, `Start`, `PreInitialization`, `ForceInitialization`, `Initialization`, and `ResetAbility`. They manage the setup and state of abilities. ```csharp protectedvirtual void Awake() { } protectedvirtual void Start() { } protectedvirtual void PreInitialization() { } protectedvirtual void ForceInitialization() { } protectedvirtual void Initialization() { } virtual void ResetAbility() { } ``` -------------------------------- ### Feedback Initialization and Setup Methods Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_1_1_m_m_f___wiggle-members This snippet covers methods related to the initialization and setup of feedback components. It includes functions for custom initialization, setting up attributes, and handling the initial state of feedback. ```csharp public virtual void Initialization(MMF_Player owner, int index) public virtual void InitializeCustomAttributes() public virtual void CustomInitialization(MMF_Player owner) public virtual void CustomRestoreInitialValues() ``` -------------------------------- ### Get Initial Color - MMBlink Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_1_1_m_m_blink Retrieves the initial color of the object's material. This is used to restore the original color after the blinking effect or to set the starting color. ```csharp protected virtual void GetInitialColor() { // Implementation details for getting initial color } ``` -------------------------------- ### Feedback Initialization and Setup Methods Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_for_third_party_1_1_m_m_f___u_i_toolkit_rotate-members Provides protected virtual methods for custom initialization and setup of feedback systems. These methods are intended to be overridden in derived classes to provide specific logic for different feedback types. They are crucial for managing the state and configuration of feedbacks. ```csharp protectedvirtual void CustomInitialization(MMF_Player owner) protectedvirtual bool CacheRequiresSetup() protectedvirtual void AutomaticShakerSetup() protectedvirtual void AutomateTargetAcquisitionInternal() ``` -------------------------------- ### Force Initial Feedback Value Source: https://topdown-engine-docs.moremountains.com/API/class_more_mountains_1_1_feedbacks_1_1_m_m_f___position The ForceInitialValue function sets the feedback to its initial state. The behavior varies by feedback type; for example, a position feedback would move to its starting point. ```csharp virtual void ForceInitialValue (Vector3 position, float feedbacksIntensity=1.0f) { // Force the feedback to its initial state } ```