Ejemplo n.º 1
0
        public override void processMessage(NetWorker.Utilities.RawMessage message)
        {
            Minion       minion = Engine.Game.getMinionById(message.getInt("iid"));
            MinionEffect effect = (MinionEffect)Activator.CreateInstance(TypeIdGenerator.getMinionEffectClass(message.getInt("tid")));

            if (minion != null)
            {
                minion.effects.AddLast(effect);
                Runner.Graphics.addMinionEffect(minion, effect);
            }
        }
Ejemplo n.º 2
0
 public bool addEffect(MinionEffect mEffect)
 {
     if (!mEffect.isStackable())
     {
         LinkedListNode <MinionEffect> effectNode = effects.First;
         while (effectNode != null)
         {
             if (effectNode.Value.GetType() == mEffect.GetType())
             {
                 return(false);
             }
             effectNode = effectNode.Next;
         }
     }
     this.effects.AddFirst(mEffect);
     return(true);
 }
Ejemplo n.º 3
0
        public override void step()
        {
            if (chase())
            {
                foreach (var damage in damageList)
                {
                    targetMinion.dealDamage(damage, ownerTower.board.player);
                }

                MinionEffect contagiousEffect = getMinionEffect(ownerTower.board.player);
                if (targetMinion.addEffect(contagiousEffect))
                {
                    Messages.OutgoingMessages.Game.GAddEffectOnMinion.sendMessage(targetMinion.game.players, targetMinion, contagiousEffect);
                }
                destroyable = true;
            }
        }
Ejemplo n.º 4
0
 public void createMinionEffect(Engine.Minions.Minion minion, Engine.Effects.MinionEffects.MinionEffect minionEffect)
 {
     spriteContainer = (GameObject)GameObject.Instantiate(staticSpriteContainer, minion.getWorldHeadPosition(), Quaternion.identity);
     this.minion     = minion;
     this.effect     = minionEffect;
 }
Ejemplo n.º 5
0
        public static void sendMessage(ICollection <Player> receiverPlayers, Minion minion, MinionEffect effect)
        {
            RawMessage msg = new RawMessage();

            msg.putInt("id", TypeIdGenerator.getMessageId(typeof(GAddEffectOnMinion)));

            if (receiverPlayers != null && receiverPlayers.Count != 0)
            {
                msg.putInt("iid", minion.instanceId);
                msg.putInt("tid", TypeIdGenerator.getMinionEffectId(effect.GetType()));

                foreach (var receiverPlayer in receiverPlayers)
                {
                    receiverPlayer.user.session.client.SendMessage(msg);
                }
            }
        }