示例#1
0
        private Sprite GetCursorSprite(Vector3Int wallCoords)
        {
            IWall       wallToGetSprite = new NullWall(level, wallCoords.x, wallCoords.y, wallCoords.z);
            IWallSprite wallSprite      = Input.GetButton("InverseFunction") ? DataManager.wallSpriteData.GetDataById(WallIndex.New) : DataManager.wallSpriteData.GetDataById(index);

            return(wallSprite.GetSprite(wallToGetSprite, false));
        }
示例#2
0
        public static IWall[,,] GenerateNulls(Level level, int levelWidth, int levelHeight)
        {
            IWall[,,] walls = new IWall[levelWidth + 1, levelHeight + 1, 2];

            for (int x = 0; x < levelWidth + 1; x++)
            {
                for (int y = 0; y < levelHeight + 1; y++)
                {
                    walls[x, y, 0] = new NullWall(level, x, y, 0);
                    walls[x, y, 1] = new NullWall(level, x, y, 0);
                }
            }

            return(walls);
        }
示例#3
0
        public static IWall[,,] Generate(Level level, int levelWidth, int levelHeight)
        {
            IWall[,,] walls = new IWall[levelWidth + 1, levelHeight + 1, 2];

            for (int x = 0; x < levelWidth + 1; x++)
            {
                for (int y = 0; y < levelHeight + 1; y++)
                {
                    if (x == levelWidth)
                    {
                        walls[x, y, 0] = new NullWall(level, x, y, 0);
                    }
                    if (y == levelHeight)
                    {
                        walls[x, y, 1] = new NullWall(level, x, y, 1);
                    }

                    if (walls[x, y, 0] == null)
                    {
                        walls[x, y, 0] = new RegularWall(level, x, y, 0);
                    }

                    if (walls[x, y, 1] == null)
                    {
                        walls[x, y, 1] = new RegularWall(level, x, y, 1);
                    }

                    if (x == 0 || x == levelWidth)
                    {
                        walls[x, y, 1].Type = WallIndex.New;
                    }
                    if (y == 0 || y == levelHeight)
                    {
                        walls[x, y, 0].Type = WallIndex.New;
                    }

                    walls[x, y, 0].Subscribe(level);
                    walls[x, y, 1].Subscribe(level);
                }
            }

            return(walls);
        }