// Use this for initialization void Start() { GameBehaviour.ICubesHandler ich = transform.parent.GetComponent <FloorControl>(); mCubes = new GameObject[144]; for (int i = 0; i < 144; i++) { mCubes[i] = ich.getFloorCube(i + 1); } // 怪物AI往玩家方向自動尋路 StartCoroutine(MoveLoop()); }
// Use this for initialization void Start() { GameBehaviour.ICubesHandler ich = transform.parent.GetComponent <FloorControl>(); mCubes = new GameObject[144]; for (int i = 0; i < 144; i++) { mCubes[i] = ich.getFloorCube(i + 1); } while (true) { mDirection = Random.Range(0, 4); if (mOkDirection [mDirection]) { break; } } if (mDirection == 0) { mDirX = 1f; mStepDirection = GameBehaviour.Direction.RIGHT; } else if (mDirection == 1) { mDirX = -1f; mStepDirection = GameBehaviour.Direction.LEFT; } else if (mDirection == 2) { mDirZ = 1f; mStepDirection = GameBehaviour.Direction.FORWARD; } else if (mDirection == 3) { mDirZ = -1f; mStepDirection = GameBehaviour.Direction.BACKWARD; } GameObject nextFloorCube = mCubes[mChessFloorCubeIndex + (int)mDirX + (int)mDirZ * 12 - 1]; if (!nextFloorCube.CompareTag(GameBehaviour.TAG_HOLE)) { StartCoroutine(MoveLoop()); } }