/// <summary> /// プレイヤーを生成する /// </summary> private void SpawnPlayer() { // プレイヤーを spawn させる位置を決める Transform spawnPoint = null; int actorNumber = PhotonNetwork.LocalPlayer.ActorNumber; // ActorNumber は 1 から順に振られる Debug.Log("Spawn Player as ActorNumber: " + actorNumber); // 最初の m_spawnPoints.Length 人は spawnPoints に順番に spawn させる if (actorNumber < m_spawnPoints.Length + 1) { spawnPoint = m_spawnPoints[actorNumber - 1]; } GameObject player = PhotonNetwork.Instantiate(m_playerPrefabName, spawnPoint.position, Quaternion.identity); // プレイヤーを生成し、他のクライアントと同期する // 自分だけ入力を有効にする LaserCannonController controller = player.GetComponent <LaserCannonController>(); controller.enabled = true; // 中央に向ける player.transform.LookAt(Vector3.zero + Vector3.up * 0.5f); // 同じオブジェクトに追加している PunTurnManager を取得し、ターン管理のイベントを Listen するよう設定する Photon.Pun.UtilityScripts.PunTurnManager turnManager = GetComponent <Photon.Pun.UtilityScripts.PunTurnManager>(); turnManager.enabled = true; // 動的に AddComponent してもよい turnManager.TurnManagerListener = controller; // MasterClient からターンを開始する if (PhotonNetwork.IsMasterClient) { turnManager.BeginTurn(); } }
/// <summary> /// ゲームを開始する /// </summary> private void StartGame() { Debug.Log("Start Game."); // 同じオブジェクトに追加している PunTurnManager を有効にする Photon.Pun.UtilityScripts.PunTurnManager turnManager = GetComponent <Photon.Pun.UtilityScripts.PunTurnManager>(); turnManager.enabled = true; // 動的に AddComponent してもよい // イベントリスナーを初期化する GetComponent <DropChipTurnManager>().Init(); // MasterClient からターンを開始する if (PhotonNetwork.IsMasterClient) { Debug.Log("I'm a master client. I begin turn."); turnManager.BeginTurn(); } }
public void Awake() { PV = this.GetComponent <PhotonView>(); this.turnManager = this.gameObject.AddComponent <PunTurnManager>(); this.turnManager.TurnManagerListener = this; this.turnManager.TurnDuration = 10.0f; Photon.Realtime.Player player = PhotonNetwork.LocalPlayer; target = GameObject.Find("target"); if (PhotonNetwork.IsMasterClient) { id = 1; } else { id = 2; } }