public override void step()
        {            
            nextAttackTime -= Chronos.deltaTime;
            remainingDuration -= Chronos.deltaTime;

            if (remainingDuration <= 0)
            {
                destroyable = true;
                return;
            }

            if (nextAttackTime <= 0 && targetStrategy != null)
            {
                nextAttackTime = ATTACK_COOLDOWN;

                Collection<Minion> targetMinions = targetStrategy.selectTargetsFromBoard(ownerPlayer.board, getWorldPosition(), numOfTarget, 0, RADIUS_DEFAULT, MinionStateSelection.ALIVE);

                foreach (Minion minion in targetMinions)
                {
                    SeedTowerPlantMissile missile = new SeedTowerPlantMissile(ownerTower, worldPosition, minion);
                    if (ownerPlayer.game.missiles.ContainsKey(missile.instanceId) == false)
                        ownerPlayer.game.missiles.Add(missile.instanceId, missile);
                    GAreaEffect_SeedTowerAreaEffect_createMissile.sendMessage(ownerPlayer.game.players, missile);
                }
            }

            
        }
        public static void sendMessage(ICollection<Player> receiverPlayers, SeedTowerPlantMissile missile)
        {
            RawMessage msg = new RawMessage();
            msg.putInt("id", TypeIdGenerator.getMessageId(typeof(GAreaEffect_SeedTowerAreaEffect_createMissile)));

            if (receiverPlayers != null && receiverPlayers.Count != 0)
            {
                msg.putInt("iid", missile.instanceId);
                msg.putFloat("x", missile.startWorldPosition.x);
                msg.putFloat("y", missile.startWorldPosition.y);
                msg.putFloat("z", missile.startWorldPosition.z);
                msg.putInt("tid", TypeIdGenerator.getMissileId(missile.GetType()));
                msg.putInt("mid", missile.targetMinion.instanceId);

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