예제 #1
0
        public void action()
        {
            if (enemy == null)
            {
                return;//need to fix enemy and 2 line should initial
            }
            Point tmpRescueLine =
                new Point(this.baseLine.chooseCloserFrom(this.rescueLine, enemy.frontLine()));

            foreach (Warrior each in group)
            {
                switch (each.Type)
                {
                case Warrior_Type.attacker:
                    each.moveTo(enemy.frontLine());
                    each.attackTo(enemy);
                    break;

                case Warrior_Type.shielder:
                    each.moveTo(enemy.frontLine());
                    break;

                case Warrior_Type.helper:
                    each.moveTo(tmpRescueLine);
                    each.helpTo(this);
                    break;
                }
            }
        }
예제 #2
0
        public override void attackTo(Warriors they)
        {
            if (CDTime.isCoolDown() || they.size() == 0)
            {
                return;
            }

            if (this.distance(they.frontLine()) <= this.attackDistance)
            {
                img.Image = myRealStatus[(int)Status.attack];
                attackGroup(they.frontGroup());
                CDTime.record();
            }
        }
예제 #3
0
//attack to warriors
        public virtual void attackTo(Warriors they)
        {
            if (CDTime.isCoolDown() || they.size() == 0)
            {
                return;
            }

            if (this.distance(they.frontLine()) <= this.attackDistance)
            {
                changeStatusTo((int)Status.attack);
                they.frontGroup()[0].beAttackFrom(this);
                CDTime.record();
            }
        }
예제 #4
0
        public override void attackTo(Warriors they)
        {
            if (they.size() <= 1)
            {
                this.beKill();
                return;
            }

            if (this.distance(they.frontLine()) <= 0)
            {
                for (int i = 0; i < they.size(); ++i)
                {
                    if (distance(they.At(i)) < this.attackDistance)
                    {
                        they.At(i).beAttackFrom(this);
                    }
                }
            }
        }