void Start() { maze = GetComponent <Maze>(); dMaze = maze.dMaze; selfTransform = transform; StartCoroutine(OnBuild(maze.DistGraph)); }
private void Start() { selfTransform = transform; maze = GetComponent <Maze>(); dMaze = maze.dMaze; if (pointOut == null) { pointOut = GetComponentInChildren <SoundPoint>(); } var li = LevelManager.Instance; var gi = GlobalHub.Instance; if ((gi.GlobalKeyFlag & (1 << (int)COLOR_TYPE.RED)) == 0) { StartCoroutine(CheckPosition(li.PlayerTrans)); // 检查玩家的位置 } }
protected virtual void Awake() { selfTransform = transform; seed = GlobalHub.Instance.MazeSeed; dMaze = new DMaze(mazeHeight, mazeWidth) { Rand = new System.Random(seed) }; if (useHole) { for (int i = 0; i < holeXs.Length; i++) { dMaze.SetHole(holeXs[i], holeYs[i], holeDXs[i], holeDYs[i]); } } dMaze.DfsBuild(enterPoint_x, enterPoint_y, useHole); if (useHole) { dMaze.BuildHole(); } }
IEnumerator BuildColumnAsync() { int mazeHeight = maze.mazeHeight; int mazeWidth = maze.mazeWidth; Func <int, int, Vector3> point2Pos = maze.Point2Pos; DMaze dMaze = maze.dMaze; for (int i = 0; i < mazeHeight; i++) { for (int j = 0; j < mazeWidth; j++) { int p = dMaze.ToPoint(i, j); if (!maze.useHole || !dMaze.Hole[p]) { Vector3 pivot = point2Pos(i, j) + selfTransform.position; var column = Instantiate(columnPrefab, pivot, Quaternion.identity, selfTransform); var scale = column.transform.localScale; scale.y = SetScale(i, j); column.transform.localScale = scale; } yield return(null); } } }