public void TriggerOnDeEquip(InteractableCollection a_interactableCollection,
                              InteractableCollection a_invokerInteractableCollection,
                              InteractionEventType a_eventType = null,
                              int a_identifier = int.MinValue)
 {
     for (int i = 0; i < m_onDeEquip.Count; i++)
     {
         m_onDeEquip[i].Invoke(a_interactableCollection, a_eventType, a_identifier, a_invokerInteractableCollection);
     }
 }
        public void TriggerOnUpdate(InteractableCollection a_interactableCollection,
                                    InteractableCollection a_invokerInteractableCollection,
                                    InteractionEventType a_eventType = null,
                                    int a_identifier = int.MinValue)
        {
            for (int i = 0; i < m_onUpdate.Count; i++)
            {
                m_onUpdate[i].Invoke(a_interactableCollection, a_eventType, a_identifier, a_invokerInteractableCollection);
            }

            m_effectRemoval.Update();
        }