예제 #1
0
 /// <summary>
 /// コンストラクタ
 /// </summary>
 /// <param name="position">操作対象プレイヤー</param>
 /// <param name="touchAction">タッチアクション</param>
 /// <param name="camera">カメラ</param>
 public BoardTouchController(Pong.PlayerConstant.Position position,
                             Mhl.ISingleTouchActionable touchAction, UnityEngine.Camera camera)
 {
     this.position    = position;
     this.touchAction = touchAction;
     this.camera      = camera;
 }
예제 #2
0
 /// <summary>
 /// ボード情報を作成
 /// </summary>
 /// <param name="position">対象のボードの位置</param>
 /// <returns>ボード情報</returns>
 private BoardInfo CreateBoardInfo(Pong.PlayerConstant.Position position)
 {
     UnityEngine.Assertions.Assert.IsNotNull(boardHeights);
     if (position == Pong.PlayerConstant.Position.Left)
     {
         UnityEngine.Assertions.Assert.IsNotNull(boardLeftRigidbody);
         return(new BoardInfo(boardHeights[(int)position], ToVector3(boardLeftRigidbody.position)));
     }
     else
     {
         UnityEngine.Assertions.Assert.IsNotNull(boardRightRigidbody);
         return(new BoardInfo(boardHeights[(int)position], ToVector3(boardRightRigidbody.position)));
     }
 }
예제 #3
0
        /// <summary>
        /// ボード情報の設定
        /// </summary>
        /// <param name="pos">設定するボードの位置</param>
        private void SetBoardInfo(Pong.PlayerConstant.Position pos)
        {
            // Rigidbodyの取得とBoxCllider2DからHeightの取得
            BoxCollider2D bc = null;

            if (pos == Pong.PlayerConstant.Position.Left)
            {
                bc = boardLeft.GetComponent <BoxCollider2D>();
                boardLeftRigidbody = boardLeft.GetComponent <Rigidbody2D>();
                UnityEngine.Assertions.Assert.IsNotNull(boardLeftRigidbody);
            }
            else
            {
                bc = boardRight.GetComponent <BoxCollider2D>();
                boardRightRigidbody = boardRight.GetComponent <Rigidbody2D>();
                UnityEngine.Assertions.Assert.IsNotNull(boardRightRigidbody);
            }
            UnityEngine.Assertions.Assert.IsNotNull(bc);
            boardHeights[(int)pos] = bc.size.y;
        }
예제 #4
0
 public BoardCpu2Controller(Pong.PlayerConstant.Position position)
 {
     this.position = position;
 }
예제 #5
0
 /// <summary>
 /// プレイヤーのタイプをセット
 /// </summary>
 /// <param name="position">対象プレイヤーの位置</param>
 /// <param name="type">タイプ</param>
 public void SetPlayerType(Pong.PlayerConstant.Position position, Pong.PlayerConstant.Type type)
 {
     playerTypes[(int)position] = type;
 }
예제 #6
0
 /// <summary>
 /// プレイヤーのスコアを取得
 /// </summary>
 /// <param name="position">取得対象プレイヤー</param>
 /// <returns>プレイヤーのスコア</returns>
 public int Get(Pong.PlayerConstant.Position position)
 {
     UnityEngine.Assertions.Assert.AreEqual(scores.Length, PlayerConstant.Count);
     return(scores[(int)position].Get());
 }
예제 #7
0
 /// <summary>
 /// 1点加算する
 /// </summary>
 /// <param name="position">加算するプレイヤー</param>
 public void Add(Pong.PlayerConstant.Position position)
 {
     UnityEngine.Assertions.Assert.AreEqual(scores.Length, PlayerConstant.Count);
     scores[(int)position].Add(1);
 }