Пример #1
0
        public override void ReceiveMessageRecursive(Message messageToReceive)
        {
            switch(messageToReceive.Type)
            {
                case Message.MessageType.OnChunkModified:
                    HasMoved = true;
                    break;
            }

            base.ReceiveMessageRecursive(messageToReceive);
        }
Пример #2
0
        public void NotifyChangedComponents()
        {
            HashSet<IBoundedObject> componentsInside = new HashSet<IBoundedObject>();
            Manager.Components.CollisionManager.GetObjectsIntersecting(GetBoundingBox(), componentsInside, CollisionManager.CollisionType.Dynamic | CollisionManager.CollisionType.Static);

            Message changedMessage = new Message(Message.MessageType.OnChunkModified, "Chunk Modified");

            foreach(IBoundedObject c in componentsInside)
            {
                if(c is GameComponent)
                {
                    ((GameComponent) c).ReceiveMessageRecursive(changedMessage);
                }
            }
        }
Пример #3
0
        public override void ReceiveMessageRecursive(Message messageToReceive)
        {
            if (messageToReceive.Type == Message.MessageType.OnHurt)
            {
                HurtTimer.Update(DwarfTime.LastTime);

                if(HurtTimer.HasTriggered)
                    Particles.Trigger(1);
            }
            base.ReceiveMessageRecursive(messageToReceive);
        }
Пример #4
0
        public override void ReceiveMessageRecursive(Message messageToReceive)
        {
            switch(messageToReceive.Type)
            {
                case Message.MessageType.OnChunkModified:
                    break;

                case Message.MessageType.OnHurt:
                    NoiseMaker.MakeNoise("Hurt", AI.Position);
                    this.Sprite.Blink(0.5f);
                    AI.AddThought(Thought.ThoughtType.TookDamage);
                    PlayState.ParticleManager.Trigger(DeathParticleTrigger.EmitterName, AI.Position, Color.White, 2);
                    break;
            }

            base.ReceiveMessageRecursive(messageToReceive);
        }
Пример #5
0
 public override void ReceiveMessageRecursive(Message messageToReceive)
 {
     if(messageToReceive.MessageString == "Chunk Modified")
     {
         checkHeight = true;
     }
     base.ReceiveMessageRecursive(messageToReceive);
 }
Пример #6
0
 public override void ReceiveMessageRecursive(Message messageToReceive)
 {
     if(messageToReceive.MessageString == "Chunk Modified")
     {
         ColorAppplied = false;
     }
     base.ReceiveMessageRecursive(messageToReceive);
 }