public float rankYPosOffset = -20f; //ランクによるy座標のずれ #region 関数 /// <summary> /// 有効化 /// </summary> public void Activate(int playerNo, Color color, int rank, ToolBox.PlayerScore playerScore, ToolBox.ShipData shipData) { //表示 Indicate(true); //値の設定 playerNoLabel.text = "Player" + playerNo; if (rankLabel) { rankLabel.text = rank.ToString(); } if (scoreLabel) { scoreLabel.text = playerScore.score.ToString(); } if (killLabel) { killLabel.text = playerScore.kill.ToString(); } if (deadLabel) { deadLabel.text = playerScore.dead.ToString(); } //Mesh mf.mesh = shipData.GetConnectedMesh(); meshCamera.orthographicSize = mf.mesh.bounds.size.y; //色 colorSetter.SetColor(color); //順位によって位置を変更(下位の順位ほど画面上で下へ) float yPos = (rank - 1) * rankYPosOffset; Vector3 pos = transform.localPosition; pos.y += yPos; transform.localPosition = pos; }
/// <summary> /// プレイヤーの初期化 /// </summary> protected void PlayerInit() { switch (gm.playMode) { case ToolBox.PlayMode.Test: if (gm.GetEditShipData() == null) { return; } //パッドの刺さっている数だけ playerNum = Input.GetJoystickNames().Length; if (playerNum <= 0) { playerNum = 1; } //プレイヤーの作成 Player[] players = new Player[playerNum]; for (int i = 0; i < playerNum; i++) { players[i] = InstantiatePlayer(gm.GetEditShipData(), i + 1); } //プレイヤーUIの有効化 gui.ActivatePlayerUI(players); //プレイヤー数 break; case ToolBox.PlayMode.Battle: case ToolBox.PlayMode.VsEnemy: List <Player> playerList = new List <Player>(); ToolBox.ShipData shipData; Player player; for (int i = 0; i < 4; i++) { shipData = gm.GetPlayerSelectShipData(i); if (shipData != null) { player = InstantiatePlayer(shipData, i + 1); //リストに追加 playerList.Add(player); //スコア playerScores[i] = new ToolBox.PlayerScore(); playerScores[i].playerNo = i; //カメラの対象に追加 mainCamera.targets.Add(player.gameObject); } } //プレイヤーUIの有効化 gui.ActivatePlayerUI(playerList.ToArray()); //プレイヤー数の設定 playerNum = playerList.Count; break; } }