Example #1
0
    public static void createFormation(Transform leader, Transform left, Transform right, List<Formation> formations)
    {
        EnemyChaser leaderChaser = leader.GetComponent<EnemyChaser>();
        EnemyChaser leftChaser = left.GetComponent<EnemyChaser>();
        EnemyChaser rightChaser = right.GetComponent<EnemyChaser>();
        if(leaderChaser!=null && leftChaser!=null && rightChaser!=null)
        {
            Formationmember leftMember = new Formationmember(left.GetComponent<Spaceship>(), 100, true, leader);
            Formationmember rightMember = new Formationmember(right.GetComponent<Spaceship>(), 100, false, leader);
            Formationleader formleader = new Formationleader(leader.GetComponent<Spaceship>(), 100, leftMember, rightMember);

            formations.Add(leftMember);
            formations.Add(rightMember);
            formations.Add(formleader);

            leaderChaser.setFormation(formleader);
            leftChaser.setFormation(leftMember);
            rightChaser.setFormation(rightMember);
        }
        else
        {
            if(leaderChaser!=null)leaderChaser.setFormation(new Solo(leader.GetComponent<Spaceship>(), 100));
            if(leftChaser!=null)leftChaser.setFormation(new Solo(left.GetComponent<Spaceship>(), 100));
            if(rightChaser!=null)rightChaser.setFormation(new Solo(right.GetComponent<Spaceship>(), 100));

        }
    }
Example #2
0
 public Formationleader(Spaceship ship, float range, Formationmember left, Formationmember right)
     : base(ship, range)
 {
     this.left = left;
     this.right = right;
 }