示例#1
0
    void FlipPlayerAndThings(GameObject player, GameObject held, IList <GameObject> things)
    {
        GetComponent <MFPP.Player>().collisionLayers = null;
        bool selectedObjects = false;

        if (things.Count > 0)
        {
            selectedObjects = true;
        }

        flipburst.Boom();

        space = !space;

        //change the layer that the player is on, for changing its collision detection
        if (space)
        {
            player.layer = 16; //set player to real world
            // Camera.main.GetComponent<CameraTransition>().Flip(true);
            GetComponent <SkyboxTransition>().Flip(true);
            transitionCollider.FlipTransitions(true);

            mutationSpawner.SpawnMutations();

            AmbientSound.CrossfadeAllToReal();
        }
        else
        {
            player.layer = 15;    //set player to laser world
            GetComponent <SkyboxTransition>().Flip(false);
            transitionCollider.FlipTransitions(false);

            AmbientSound.CrossfadeAllToLaser();
        }

        if (held)
        {
            Flip(held);
        }
        FlipList(things);
        Toolbox.Instance.FlipSharedMaterials(space);
        currentRing = Instantiate(ring);
        currentRing.transform.position = transform.position;


        if (soundTrack)
        {
            //play secondary sound when there is a held object or are selected objects
            if (held || (selectedObjects))
            {
                soundTrack.PlaySecondary();
            }

            else
            {
                soundTrack.PlayPrimary();
            }

            soundTrack.FadeBetween(space);
        }
    }