예제 #1
0
    public void OnPlayerJoined(PlayerInput playerInput)
    {
        if (instance != this)
        {
            return;
        }
        if (Testing)
        {
            Debug.Log("Add");
            playerInput.transform.root.GetComponent <PlayerIdentity>().PlayerInputEnable();
            // playerInput.SwitchCurrentActionMap("GamePlay");
            // Destroy(playerInput.transform.root.GetComponentInChildren<PlayerCreating>());
            players.Add((playerInput.transform.root.gameObject));

            if (targetGroup != null)
            {
                targetGroup.AddMember(playerInput.transform, 1, 0);
            }

            if (OnPlayerJoin != null)
            {
                OnPlayerJoin(playerInput.gameObject, players.Count - 1);
            }
            LoadTestScene();
            // playerInput.transform.root.GetComponent<PlayerIdentity>().SetRagData();
        }
        else
        {
            if (CreatingTest)
            {
                return;
            }
            Debug.Log("Add");
            DontDestroyOnLoad(playerInput.transform.root.gameObject);
            players.Add((playerInput.transform.root.gameObject));

            GameObject         g         = Instantiate(PlayerCraftUI);
            StageInfoTransform stageInfo = GameObject.FindGameObjectWithTag("StageInfoTransform").GetComponent <StageInfoTransform>();
            Vector3            v         = stageInfo.transforms[players.Count - 1].position;
            v += new Vector3(2.25f, 2.5f, 0);
            g.GetComponent <Transform>().position = v;

            players[players.Count - 1].GetComponentInChildren <PlayerCreating>().profileChooseUI = g.GetComponent <ProfileChooseUI>();
            playerInput.SwitchCurrentActionMap("Creating(UI)");

            OnBattleScene += players[players.Count - 1].GetComponent <PlayerIdentity>().OnTest;
            players[players.Count - 1].GetComponent <PlayerIdentity>().SetToTransform();

            if (targetGroup != null)
            {
                targetGroup.AddMember(playerInput.transform, 1, 0);
            }
            PlayerCraftUIList.Add(g);
            if (OnPlayerJoin != null)
            {
                OnPlayerJoin(playerInput.gameObject, players.Count - 1);
            }
            // LoadTestScene();
        }
    }
예제 #2
0
    IEnumerator SpawnToTransform()
    {
        footIK_AF.followTerrain = false;
        foreach (Rigidbody rb in rbs)
        {
            rb.velocity = Vector3.zero;
        }
        foreach (Collider collider in colliders)
        {
            collider.isTrigger = true;
        }
        yield return(new WaitForFixedUpdate());

        if (GameObject.FindGameObjectWithTag("StageInfoTransform") == null)
        {
            playerMove.transform.position       = stageInfo.SpawnPosition[PlayerID];
            playerMove.transform.eulerAngles    = stageInfo.SpawnRotation[PlayerID];
            playerRigHips.transform.position    = stageInfo.SpawnPosition[PlayerID];
            playerRigHips.transform.eulerAngles = stageInfo.SpawnRotation[PlayerID];
        }
        else
        {
            StageInfoTransform stageInfoTransform = GameObject.FindGameObjectWithTag("StageInfoTransform").GetComponent <StageInfoTransform>();
            playerMove.transform.position       = stageInfoTransform.transforms[PlayerID].position;
            playerMove.transform.eulerAngles    = stageInfoTransform.transforms[PlayerID].eulerAngles;
            playerRigHips.transform.position    = stageInfoTransform.transforms[PlayerID].position;
            playerRigHips.transform.eulerAngles = stageInfoTransform.transforms[PlayerID].eulerAngles;
        }


        yield return(new WaitForFixedUpdate());

        foreach (Rigidbody rb in rbs)
        {
            rb.velocity = Vector3.zero;
        }
        foreach (Collider collider in colliders)
        {
            collider.isTrigger = false;
        }

        if (!StageManager.InLobby && !SceneChangeTest.IsLoadingTutorial)
        {
            footIK_AF.followTerrain = true;
        }

        yield return(new WaitForFixedUpdate());

        SetRagData();
        yield return(new WaitForFixedUpdate());

        // BodyMeshRenderer2.enabled = true;
        playerCreating.Creat();

        yield return(null);
    }