コード例 #1
0
    void GoToAfterlife(int dir)
    {
        GameObject       g      = dir == 1 ? heaven : hell;
        List <Transform> spawns = new List <Transform>(g.GetComponentsInChildren <Transform>());

        spawns.Remove(g.transform);
        spawns.Remove(hellMidpoint);
        foreach (GameObject go in NPCs)
        {
            go.GetComponent <Rigidbody2D>().gravityScale = 0;
            go.GetComponent <Rigidbody2D>().velocity     = Vector2.zero;
            go.GetComponent <Spin>().enabled             = true;
            Transform t = spawns[Random.Range(0, spawns.Count)];
            go.transform.position = t.position;
            spawns.Remove(t);
        }
        player.GetComponent <BoxCollider2D>().enabled        = false;
        player.GetComponent <TeleportIfBelowWorld>().enabled = false;
        player.GetComponent <Interaction>().SetPlayerMovementEnabled(false);
        player.GetComponent <Rigidbody2D>().gravityScale = 0;
        player.GetComponent <Rigidbody2D>().velocity     = Vector2.zero;
        player.GetComponent <Spin>().enabled             = true;
        StartCoroutine(PlayerFlyToo(spawns[Random.Range(0, spawns.Count)].position));
        StartCoroutine(LerpCam(dir == 1 ? heavenMidpoint : hellMidpoint));
    }