예제 #1
0
        public void SetFixtureAtIndex(Fixture fixture, int index)
        {
            int offsetFloor = TileDefinition.GetTileFixtureLayerSize();
            int offsetWall  = TileDefinition.GetWallFixtureLayerSize();
            int offsetTotal = offsetFloor + offsetWall + TileDefinition.GetFloorFixtureLayerSize();

            if (index < offsetFloor)
            {
                // We are a Tile fixture
                SetTileFixtureAtLayer((TileFixture)fixture, (TileFixtureLayers)index);
            }

            else if (index >= offsetFloor && index < (offsetFloor + offsetWall))
            {
                // We are a Wall fixture
                SetWallFixtureAtLayer((WallFixture)fixture, (WallFixtureLayers)(index - offsetFloor));
            }

            else if (index >= (offsetFloor + offsetWall) && index < offsetTotal)
            {
                // We are a Floor fixture
                SetFloorFixtureAtLayer((FloorFixture)fixture, (FloorFixtureLayers)(index - offsetFloor - offsetWall));
            }
            else
            {
                Debug.LogError("Requesting out of index Fixture");
            }
        }
예제 #2
0
        public Fixture GetFixtureAtLayerIndex(int index)
        {
            int offsetFloor = TileDefinition.GetTileFixtureLayerSize();
            int offsetWall  = TileDefinition.GetWallFixtureLayerSize();
            int offsetTotal = offsetFloor + offsetWall + TileDefinition.GetFloorFixtureLayerSize();

            if (index < offsetFloor)
            {
                // We are a Tile fixture
                return(GetTileFixtureAtLayer((TileFixtureLayers)index));
            }

            else if (index >= offsetFloor && index < offsetWall)
            {
                // We are a Wall fixture
                return(GetWallFixtureAtLayer((WallFixtureLayers)(index - offsetFloor)));
            }

            else if (index >= offsetWall && index < offsetTotal)
            {
                // We are a Floor fixture
                return(GetFloorFixtureAtLayer((FloorFixtureLayers)(index - offsetFloor - offsetWall)));
            }

            else
            {
                Debug.LogError("Requesting out of index Fixture");
            }

            return(null);
        }