コード例 #1
0
        public void DisposeCreature(int creatureId, bool disposeFromUI = true, bool playDeadAnimation = false)
        {
            FDCreature creature = GetCreature(creatureId);

            if (creature != null)
            {
                for (int i = 0; i < this.Friends.Count; i++)
                {
                    if (this.Friends[i].CreatureId == creatureId)
                    {
                        this.Friends.RemoveAt(i);
                        break;
                    }
                }
                for (int i = 0; i < this.Enemies.Count; i++)
                {
                    if (this.Enemies[i].CreatureId == creatureId)
                    {
                        this.Enemies.RemoveAt(i);
                        break;
                    }
                }
                for (int i = 0; i < this.Npcs.Count; i++)
                {
                    if (this.Npcs[i].CreatureId == creatureId)
                    {
                        this.Npcs.RemoveAt(i);
                        break;
                    }
                }

                if (disposeFromUI)
                {
                    if (playDeadAnimation)
                    {
                        CreatureDeadPack dead = new CreatureDeadPack(creatureId);
                        gameCallback.OnHandlePack(dead);
                    }
                    else
                    {
                        CreatureDisposePack pack = new CreatureDisposePack(creatureId);
                        gameCallback.OnHandlePack(pack);
                    }
                }
            }
            else
            {
                creature = GetDeadCreature(creatureId);
                if (creature != null)
                {
                    this.Deads.Remove(creature);
                }
            }
        }
コード例 #2
0
        private static ActivityBase BuildCreatureDeadActivity(CreatureDeadPack pack)
        {
            if (pack == null)
            {
                throw new ArgumentNullException("CreatureDeadPack");
            }

            CreatureDeadActivity activity = new CreatureDeadActivity(pack.CreatureIds);

            return(activity);
        }