예제 #1
0
    void Start()
    {
        maze          = GetComponent <Maze>();
        dMaze         = maze.dMaze;
        selfTransform = transform;

        StartCoroutine(OnBuild(maze.DistGraph));
    }
예제 #2
0
    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));  // 检查玩家的位置
        }
    }
예제 #3
0
파일: BaseMaze.cs 프로젝트: Asura336/Human1
    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();
        }
    }
예제 #4
0
    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);
            }
        }
    }