Esempio n. 1
0
        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);
     }
 }
Esempio n. 4
0
        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);
            }
        }