Esempio n. 1
0
        private static TileConditionSet[] CreateDefaultTileConditionSets()
        {
            var list = new List <TileConditionSet>();

            foreach (var a in (TileSpriteType[])Enum.GetValues(typeof(TileSpriteType)))
            {
                var tileCondSet = new TileConditionSet();
                tileCondSet.TileSpriteType = a;
                list.Add(tileCondSet);
            }
            return(list.ToArray());
        }
Esempio n. 2
0
 private bool MatchTileCondition(TileConditionSet set, Vector3Int position, ITilemap tilemap)
 {
     foreach (var dir in (TileDirectionType[])Enum.GetValues(typeof(TileDirectionType)))
     {
         TileConditionType condType = set[dir];
         if (condType == TileConditionType.Optional)
         {
             continue;
         }
         var newPos = position;
         var offset = dir.ToVector2();
         newPos.x += offset.x;
         newPos.y += offset.y;
         var tile = tilemap.GetTile(newPos);
         if (!((tile == null && condType == TileConditionType.Missing) ||
               (tile != null && condType == TileConditionType.Exist)))
         {
             return(false);
         }
     }
     return(true);
 }