Exemple #1
0
        public void DeactivateBoss()
        {
            if ((flags & (ActorInstantiationFlags.IsCreatedFromEventMap | ActorInstantiationFlags.IsFromGenerator)) != 0)
            {
                EventMap events = api.EventMap;
                if (events != null)
                {
                    if ((flags & ActorInstantiationFlags.IsFromGenerator) != 0)
                    {
                        events.ResetGenerator(originTile.X, originTile.Y);
                    }

                    events.Deactivate(originTile.X, originTile.Y);
                }

                api.RemoveActor(this);
            }
        }
Exemple #2
0
        public virtual bool OnTileDeactivate(int tx, int ty, int tileDistance)
        {
            if ((flags & (ActorInstantiationFlags.IsCreatedFromEventMap | ActorInstantiationFlags.IsFromGenerator)) != 0 && ((MathF.Abs(tx - originTile.X) > tileDistance) || (MathF.Abs(ty - originTile.Y) > tileDistance)))
            {
                EventMap events = api.EventMap;
                if (events != null)
                {
                    if ((flags & ActorInstantiationFlags.IsFromGenerator) != 0)
                    {
                        events.ResetGenerator(originTile.X, originTile.Y);
                    }

                    events.Deactivate(originTile.X, originTile.Y);
                }

                api.RemoveActor(this);
                return(true);
            }

            return(false);
        }
Exemple #3
0
        public bool HandlePlayerDied()
        {
            if ((flags & (ActorInstantiationFlags.IsCreatedFromEventMap | ActorInstantiationFlags.IsFromGenerator)) != 0)
            {
                EventMap events = levelHandler.EventMap;
                if (events != null)
                {
                    if ((flags & ActorInstantiationFlags.IsFromGenerator) != 0)
                    {
                        events.ResetGenerator(originTile.X, originTile.Y);
                    }

                    events.Deactivate(originTile.X, originTile.Y);
                }

                OnBossDeactivated();
                levelHandler.RemoveActor(this);
                return(true);
            }

            return(false);
        }