Inheritance: IGameMessage
        public static Effect ParseEffect(XElement node)
        {
            string soundname = node.RequireAttribute("name").Value;
            bool   playing   = node.TryAttribute <bool>("playing", true);

            return(entity =>
            {
                entity.GetOrCreateComponent("Sound");
                SoundMessage msg = new SoundMessage(entity, soundname, playing);
                entity.SendMessage(msg);
            });
        }
示例#2
0
        public static Effect ParseEffect(XElement node)
        {
            string soundname = node.RequireAttribute("name").Value;
            bool playing = node.TryAttribute<bool>("playing", true);

            return entity =>
            {
                entity.GetOrCreateComponent("Sound");
                SoundMessage msg = new SoundMessage(entity, soundname, playing);
                entity.SendMessage(msg);
            };
        }
        public override void Message(IGameMessage msg)
        {
            SoundMessage sound = msg as SoundMessage;

            if (sound != null)
            {
                sounds.Add(sound.SoundName);
                if (sound.Playing)
                {
                    Engine.Instance.SoundSystem.PlaySfx(sound.SoundName);
                }
                else
                {
                    Engine.Instance.SoundSystem.StopSfx(sound.SoundName);
                }
            }
        }