예제 #1
0
        public void NotifyEntityUnloadedHandlers(Entity _entity, EnumRemoveEntityReason _reason)
        {
            if (OnEntityUnloaded != null)
            {
                OnEntityUnloaded(_entity, _reason.ToString());
            }

            if (_entity is EntityNPC)
            {
                if (OnNPCUnloaded != null)
                {
                    OnNPCUnloaded(_entity as EntityNPC, _reason.ToString());
                }

                if (_entity is EntitySurvivor)
                {
                    if (OnNPCSurvivorUnloaded != null)
                    {
                        OnNPCSurvivorUnloaded(_entity as EntitySurvivor, _reason.ToString());
                    }
                }
                else
                {
                    if (_entity is EntityBandit)
                    {
                        if (OnNPCBanditUnloaded != null)
                        {
                            OnNPCBanditUnloaded(_entity as EntityBandit, _reason.ToString());
                        }
                    }
                }
            }

            if (OnPlayerCollectedItem != null)
            {
                if (_entity.GetType().ToString() == "EntityItem")
                {
                    EntityItem ei = (EntityItem)_entity;
                    if (ei.belongsPlayerId > 0)
                    {
                        NotifyPlayerCollectedItemHandlers(PlayerUtils.GetEntityPlayer(ei.belongsPlayerId.ToString()), ei);
                    }
                }
            }
        }
예제 #2
0
 private void OnEntityUnloaded(Entity _entity, EnumRemoveEntityReason _reason)
 {
     API.Events.NotifyEntityUnloadedHandlers(_entity, _reason);
 }