示例#1
0
 private void SpawnAntLeader()
 {
     antLeaderToSpawn.transform.position = transform.position;
     antLeaderToSpawn.transform.rotation = transform.rotation;
     antLeaderToSpawn.GetComponent <Collider2D>().enabled = true;
     antLeaderToSpawn.gameObject.SetActive(true);
     AntsManager.ReturnAntToActives(antLeaderToSpawn);
     antLeaderToSpawn.MoveForwardAuto();
     tutorial.antLeader = antLeaderToSpawn;
 }
示例#2
0
    private void SpawnAnt()
    {
        AntController ant = remainingAntsToSpawn[0];

        ant.GetComponent <Collider2D>().enabled = true;
        ant.transform.position = transform.position;
        ant.gameObject.SetActive(true);
        AntsManager.ReturnAntToActives(ant);
        remainingAntsToSpawn.RemoveAt(0);
    }
示例#3
0
    private void OnCollisionEnter2D(Collision2D collision)
    {
        if (attachedAntLeader != null)
        {
            return;
        }

        AntController collidingAnt = collision.collider.GetComponent <AntController>();

        if (collidingAnt == null || !collidingAnt.isLeader)
        {
            return;
        }

        AntSpawner.ForceSpawnOfAllAnts();
        rb.bodyType = RigidbodyType2D.Dynamic;

        transform.parent = null;

        attachedAnts = AntsManager.GetActiveAnts();

        foreach (AntController ant in attachedAnts)
        {
            ant.enabled          = false;
            ant.transform.parent = transform;
            SetAntPositionAndRotationAfterHit(ant);
            ant.GetComponent <Collider2D>().enabled = false;

            if (ant.isLeader)
            {
                attachedAntLeader = ant;
                ant.GetComponent <Rigidbody2D>().bodyType = RigidbodyType2D.Kinematic;
                ant.PlayPickupSound();
            }
        }
    }
示例#4
0
 void Awake()
 {
     instance = this;
 }