public virtual void OnItemUnEquip(Item item) { this.m_CurrentEquipedItem = null; enabled = false; foreach (Attachment att in attachments) { if (att.gameObject != null) { att.gameObject.SetActive(false); } } CallbackEventData data = new CallbackEventData(); data.AddData("Item", item); data.AddData("Attachments", this.attachments); Execute("OnUnEquip", data); }
protected virtual void Use() { this.m_CharacterAnimator.CrossFadeInFixedTime(this.m_UseState, 0.15f); this.m_CharacterAnimator.Update(0f); CallbackEventData data = new CallbackEventData(); data.AddData("Item", this.m_CurrentEquipedItem); Execute("OnUse", data); }
protected void StopUse() { if (IsActive) { OnStopUse(); this.m_InUse = false; this.m_CharacterAnimator.CrossFadeInFixedTime(this.m_IdleState, 0.15f); CallbackEventData data = new CallbackEventData(); data.AddData("Item", this.m_CurrentEquipedItem); Execute("OnEndUse", data); } }
public virtual void OnItemEquip(Item item) { enabled = true; this.m_CurrentEquipedItem = item; foreach (Attachment att in this.attachments) { if (att.gameObject != null) { att.gameObject.SetActive(true); } else { att.Instantiate(this.m_Handler); } } CallbackEventData data = new CallbackEventData(); data.AddData("Item", item); data.AddData("Attachments", this.attachments); Execute("OnEquip", data); }
protected void ExecuteEvent <T>(ItemEventFunction <T> func, Item item, bool includeDisabled = false) where T : ITriggerEventHandler { for (int i = 0; i < this.m_TriggerEvents.Length; i++) { ITriggerEventHandler handler = this.m_TriggerEvents[i]; if (ShouldSendEvent <T>(handler, includeDisabled)) { func.Invoke((T)handler, item, PlayerInfo.gameObject); } } string eventID = string.Empty; if (this.m_CallbackHandlers.TryGetValue(typeof(T), out eventID)) { CallbackEventData triggerEventData = new CallbackEventData(); triggerEventData.AddData("Trigger", this); triggerEventData.AddData("Player", PlayerInfo.gameObject); triggerEventData.AddData("EventData", new PointerEventData(EventSystem.current)); triggerEventData.AddData("Item", item); base.Execute(eventID, triggerEventData); } }