void SetModesListeners(MEventListener listener, string EventName, string ModeName) { MEvent e = MalbersTools.GetInstance <MEvent>(EventName); if (listener.Events.Find(item => item.Event == e) == null) { var item = new MEventItemListener() { Event = e, useVoid = true, useInt = true, useBool = true, }; ModeID att2 = MalbersTools.GetInstance <ModeID>(ModeName); UnityEditor.Events.UnityEventTools.AddObjectPersistentListener <ModeID>(item.ResponseBool, Mode_Pin, att2); UnityEditor.Events.UnityEventTools.AddPersistentListener(item.ResponseBool, Mode_Pin_Input); UnityEditor.Events.UnityEventTools.AddObjectPersistentListener <ModeID>(item.ResponseInt, Mode_Pin, att2); UnityEditor.Events.UnityEventTools.AddPersistentListener(item.ResponseInt, Mode_Pin_Ability); UnityEditor.Events.UnityEventTools.AddPersistentListener(item.Response, Mode_Interrupt); listener.Events.Add(item); Debug.Log("<B>" + EventName + "</B> Added to the Event Listeners"); } }
public virtual void Mode_ForceActivate(ModeID ModeID) { var mode = Mode_Get(ModeID); if (mode != null) { Mode_ForceActivate(ModeID.ID, mode.AbilityIndex); } }
void Reset() { ModeID modeID = MalbersTools.GetInstance<ModeID>("Attack1"); animal = GetComponent<MAnimal>(); if (modeID != null) { this.ModeID = modeID; } }
/// <summary> /// Serves as the default hash function. /// </summary> /// <returns>A hash code for the current object.</returns> public override int GetHashCode() { var hashcode = ID.GetHashCode(); hashcode ^= IdentityGUID.GetHashCode(); hashcode ^= CheckpointIP.GetHashCode(); hashcode ^= Date.GetHashCode(); hashcode ^= Status.GetHashCode(); hashcode ^= ModeID.GetHashCode(); hashcode ^= Mode.GetHashCode(); return(hashcode); }
/// <summary>Pin a mode to Activate later</summary> public virtual void Mode_Pin(ModeID ModeID) { if (Pin_Mode != null && Pin_Mode.ID == ModeID) { return; //the mode is already pinned } Pin_Mode = Mode_Get(ModeID); if (Pin_Mode == null) { Debug.LogWarning("There's no " + ModeID.name + "Mode"); } }
/// <summary>Pin a mode to Activate later</summary> public virtual void Mode_Pin(ModeID ID) { if (Pin_Mode != null && Pin_Mode.ID == ID) { return; //the mode is already pinned } var pin = Mode_Get(ID); Pin_Mode = null; //Important! Clean the Pin Mode if (pin != null && pin.Active) { Pin_Mode = pin; } }
/// <summary> /// Determines whether the specified object is equal to the current object. /// </summary> /// <param name="obj">The object to compare with the current object.</param> /// <returns>true if the specified object is equal to the current object; otherwise, false.</returns> public override bool Equals(object obj) { var result = false; if (obj is Activity item) { result = ID == item.ID; result &= IdentityGUID.Equals(item.IdentityGUID); result &= CheckpointIP.Equals(item.CheckpointIP); result &= Date.Equals(item.Date); result &= Status.Equals(item.Status); result &= ModeID.Equals(item.ModeID); result &= Mode.Equals(item.Mode); return(result); } return(false); }
/// <summary>Pin a mode to Activate later</summary> public virtual void Mode_Pin(ModeID ID) { if (Pin_Mode != null && Pin_Mode.ID == ID) { return; //the mode is already pinned } var pin = Mode_Get(ID); Pin_Mode = null; //Important! Clean the Pin Mode if (pin == null) { Debug.LogWarning("There's no " + ID.name + "Mode"); } else if (pin.Active) { Pin_Mode = pin; } }
void CreateListeners() { MEventListener listener = GetComponent <MEventListener>(); if (listener == null) { listener = gameObject.AddComponent <MEventListener>(); } if (listener.Events == null) { listener.Events = new List <MEventItemListener>(); } MEvent MovementMobile = MalbersTools.GetInstance <MEvent>("Set Movement Mobile"); if (listener.Events.Find(item => item.Event == MovementMobile) == null) { var item = new MEventItemListener() { Event = MovementMobile, useVoid = true, useVector2 = true, }; UnityEditor.Events.UnityEventTools.AddPersistentListener(item.ResponseVector2, SetInputAxis); UnityEditor.Events.UnityEventTools.AddPersistentListener(item.Response, UseCameraBasedInput); listener.Events.Add(item); Debug.Log("<B>Set Movement Mobile</B> Added to the Event Listeners"); } //********************************// SetModesListeners(listener, "Set Attack1", "Attack1"); SetModesListeners(listener, "Set Attack2", "Attack2"); SetModesListeners(listener, "Set Action", "Action"); /************************/ MEvent actionstatus = MalbersTools.GetInstance <MEvent>("Set Action Status"); if (listener.Events.Find(item => item.Event == actionstatus) == null) { var item = new MEventItemListener() { Event = actionstatus, useVoid = false, useInt = true, useFloat = true }; ModeID ac = MalbersTools.GetInstance <ModeID>("Action"); UnityEditor.Events.UnityEventTools.AddObjectPersistentListener(item.ResponseInt, Mode_Pin, ac); UnityEditor.Events.UnityEventTools.AddPersistentListener(item.ResponseInt, Mode_Pin_Status); UnityEditor.Events.UnityEventTools.AddPersistentListener(item.ResponseFloat, Mode_Pin_Time); listener.Events.Add(item); Debug.Log("<B>Set Action Status</B> Added to the Event Listeners"); } /************************/ SetStateListeners(listener, "Set Jump", "Jump"); SetStateListeners(listener, "Set Fly", "Fly"); /************************/ }
public bool HasMode(ModeID ID) { return(HasMode(ID.ID)); }
/// <summary>Enable a Mode by his ID</summary> public virtual void Mode_Enable(ModeID id) { Mode_Enable(id.ID); }
} //Means the Mode is interrupted /// <summary>Disable a Mode by his ID</summary> public virtual void Mode_Disable(ModeID id) { Mode_Disable((int)id); }
public virtual void Mode_Activate_Endless(ModeID ModeID) { Mode_Activate_Endless(ModeID.ID); }
/// <summary>Enable a mode on the Animal</summary> /// <param name="ModeID">ID of the Mode</param> /// <param name="AbilityIndex">Ability Index. If this value is -1 then the Mode will activate a random Ability</param> public virtual void Mode_Activate(ModeID ModeID, int AbilityIndex) { Mode_Activate(ModeID.ID, AbilityIndex); }
/// <summary>Activate a Random Ability on the Animal using a Mode ID</summary> public virtual void Mode_Activate(ModeID ModeID) { Mode_Activate(ModeID.ID, -1); }
/// <summary> Returns a Mode by its ID</summary> public virtual Mode Mode_Get(ModeID ModeID) { return(Mode_Get(ModeID.ID)); }
public bool HasMode(ModeID ID) => HasMode(ID.ID);
/// <summary> Returns a Mode by its ID</summary> public virtual Mode Mode_Get(ModeID ModeID) => Mode_Get(ModeID.ID);
/// <summary>Activate a Random Ability on the Animal using a Mode ID</summary> public virtual void Mode_Activate(ModeID ModeID) => Mode_Activate(ModeID.ID, -99);
public virtual bool Mode_ForceActivate(ModeID ModeID, int AbilityIndex) => Mode_ForceActivate(ModeID.ID, AbilityIndex);