private void Update() { //移動開始状態になったとき if (g_player_move) { //移動開始状態を解除する g_player_move = false; //一度目から二度目までの移動間隔を初期化 g_auto_move_timer = g_start_timer; //自動移動可能状態にする g_player_auto_move = true; } //自動移動可能状態の時 if (g_player_auto_move) { //タイマーで秒数カウントアップ g_auto_move_timer += Time.deltaTime; //指定した間隔で処理を行う if (g_auto_move_timer >= g_move_interval) { //プレイヤーの現在の向きを取得 int player_direction = g_direction_Script.Get_Player_Direction(); //取得した方向に移動する PlayerMove(player_direction); //カウントアップタイマーをリセット g_auto_move_timer = g_zero_Count; } } }
/// <summary> /// 現在の盤面を保持する処理 /// </summary> public void Keep_Info() { //元に戻す処理を可能にする g_is_undo = true; //プレイヤーを取得 g_player_obj = GameObject.FindWithTag("Player").gameObject; //プレイヤーの現在の指標を取得 (g_player_ver, g_player_side, g_player_high) = g_player_con_Script.Get_Player_Pointer(); //プレイヤーの現在の向きを取得 g_player_direction = g_direction_Script.Get_Player_Direction(); //保持用配列を初期化 Array_Reset(); //シーン上にあるダイスの親オブジェクトをすべて取得 g_undo_parents = GameObject.FindGameObjectsWithTag("Dice_Parent"); //取得した親の個数分繰り返す for (int i = 0; i < g_undo_parents.Length; i++) { //子オブジェクトのダイスを全て取得 g_work_children = g_undo_parents[i].GetComponent <Parent_Dice>().Get_Children(); //ダイスの数を保持 Storage_Dice_Counter(g_work_children.Length); //ダイスのオブジェクトを保持 Storage_Dices(); } }