Example #1
0
    void Start()
    {
        if (!isLocalPlayer)
        {
            DisableComponents();
            AssignRemoteLayer();
        }
        else
        {
            //Disable local graphics
            SetLayerRecursively(playerGraphics, LayerMask.NameToLayer(IgnoreDrawLayerName));

            //UI
            playerUIInstance      = Instantiate(playerUIPrefab);
            playerUIInstance.name = playerUIPrefab.name;
            //Options
            uiOptionInstance      = Instantiate(uiOptionsPrefab);
            uiOptionInstance.name = playerUIPrefab.name;

            PlayerUI  playerUI  = playerUIInstance.GetComponent <PlayerUI>();
            UIOptions uiOptions = uiOptionInstance.GetComponent <UIOptions>();
            Player    player    = GetComponent <Player>();

            if (playerUI == null)
            {
                Debug.Log("No PlayerUI component in UI.");
            }
            else
            {
                PlayerControl pc = GetComponent <PlayerControl>();
                playerUI.setPlayerController(pc);
                playerUI.setPlayer(player);
                uiOptions.setPlayerControl(pc);
                uiOptions.setPlayerShoot(GetComponent <PlayerShoot>());

                GetComponent <PlayerControl>().uiOptions = uiOptions;
            }

            Cursor.lockState = CursorLockMode.Locked;
            Cursor.visible   = false;
        }

        GetComponent <Player>().Setup();
    }