Exemple #1
0
    private void Split()
    {
        Debug.Log("try to split");
        //split into 2 small ghosts, move from center to 2 sides.
        GameObject leftGhost, rightGhost;

        leftGhost  = Instantiate(blueGhost, transform.position, Quaternion.identity);
        rightGhost = Instantiate(redGhost, transform.position, Quaternion.identity);

        float   heightDifference = 0.3f;
        Vector2 from             = (Vector2)transform.position + Vector2.down * heightDifference;
        Vector2 leftDes          = from + Vector2.left * (splitDistance / 2f);
        Vector2 rightDes         = from + Vector2.right * (splitDistance / 2f);

        PetUtility.Coroutine(PetUtility.SublinearMove(from, leftDes, 0.25f, leftGhost.transform));
        PetUtility.Coroutine(PetUtility.SublinearMove(from, rightDes, 0.25f, rightGhost.transform));
    }