Esempio n. 1
0
        //PLayerのターンの処理
        private void PlayerTurn()
        {
            //行動が未選択
            if (hpaction == ActionKind.Unset)
            {
                //1,駒が選択された→カメラ切り替え 未選択の場合、元の番号を保持する
                int pieceChangeChechk = LM.GetSelectedPieces();
                if (pieceChangeChechk > -1)
                {
                    selectedPieceId = pieceChangeChechk;
                    DisplayRestPieceNum(selectedPieceId);
                    selectPiece = GameManager.ManagerStore.humanPlayer.GetPieceById(selectedPieceId);
                    PCM.ChangeCamera(selectedPieceId);
                    ChangeMovePoint();
                }

                //2.Inputから何らかのオブジェクトを受け付けた→面か確認して、移動可能か確認する
                GameObject returnObj = null;
                if (Input.GetMouseButtonUp(0))
                {
                    returnObj = IM.GetTouchListner();
                }

                if (returnObj != null)
                {
                    Field.SurfaceInfo selectedSurFaceInfo = returnObj.GetComponent <Field.SurfaceInfo>();
                    if (selectedSurFaceInfo != null)
                    {
                        selectedFaceId = selectedSurFaceInfo.FaceId;
                        foreach (int moveFace in selectAbsolutePieceMoveRange)
                        {
                            if (selectedFaceId == moveFace)
                            {
                                hpaction = ActionKind.Move;
                                break;
                            }
                        }
                        //駒が移動可能なマスでなければ-1に
                        if (hpaction != ActionKind.Move)
                        {
                            selectedFaceId = -1;
                        }
                    }
                }
            }
            //行動が選択済みで、Yes、Noが未クリック
            else if (hpaction != ActionKind.Unset && isActionDecide == false)
            {
                DisplayCheckText();
            }
            //確認画面でYesが押された
            else if (hpaction != ActionKind.Unset && isActionDecide == true)
            {
                HiddenCheckText();
                ExcuteMotion(selectPiece, selectedFaceId, selectedRotateDirection);
                isNeedTurnStartInit = true;
            }
        }
Esempio n. 2
0
        public void Start()
        {
            //必要なオブジェクトのfind
            checkText     = GameObject.Find("CheckText").GetComponent <Text>();
            movingPanel   = GameObject.Find("WhileMovingPanel").GetComponent <Image>();
            movingText    = GameObject.Find("WhileMoving").GetComponent <Text>();
            restPieceText = GameObject.Find("RestPiece").GetComponent <Text>();

            checkMenue = GameObject.Find("CheckMenue");
            viewCamera = GameObject.Find("ViewCamera");
            checkMenue.SetActive(false);
            viewCamera.SetActive(false);

            movingText.text = "Enemy Turn…";

            CPB = new CP.CPBrain();
            PCM = GetComponent <PlayCameraManager>();
            TM  = GetComponent <TurnManager>();
            LM  = GetComponent <ListManager.ListCtrl>();
            GJ  = GetComponent <GameJudgment>();

            //test2 10 pawns written by KatoMori
            CPB.SetCPPieces();

            //キングのIDを取得
            var hpkingList = ManagerStore.humanPlayer.GetMyPiecesByKind(PieceKind.King);

            humanPlayerKing = hpkingList[0].GetPieceId();


            //初期位置の保存
            GameManager.ResultData.positionRecord.Add(Position.PositionData.SaveByPlayer(ManagerStore.humanPlayer, ManagerStore.cp));

            //ターン開始時の初期化
            selectedPieceId = humanPlayerKing;
            PCM.ChangeCamera(selectedPieceId);
            selectPiece = GameManager.ManagerStore.humanPlayer.GetPieceById(humanPlayerKing);
            TurnStartInit();
        }