Beispiel #1
0
 void SetOptions(string special, string material, string variant, string direction,
                 Dictionary <TiletypeSpecial,
                             Dictionary <TiletypeMaterial,
                                         Dictionary <TiletypeVariant,
                                                     Dictionary <string, Tiletype> > > > optionList, TiletypeMatch match)
 {
     if (special == "*")
     {
         match.difference |= 8;
         foreach (var item in optionList.Values)
         {
             SetOptions(material, variant, direction, item, match);
         }
     }
     else
     {
         try
         {
             TiletypeSpecial tileSpecial = (TiletypeSpecial)Enum.Parse(typeof(TiletypeSpecial), special);
             if (optionList.ContainsKey(tileSpecial))
             {
                 SetOptions(material, variant, direction, optionList[tileSpecial], match);
             }
         }
         catch (Exception)
         {
             Debug.LogError(special + " is not a valid tile special.");
             return;
         }
     }
 }
 static void AddTile(TiletypeShape tileShape, TiletypeSpecial tileSpecial, TiletypeMaterial tileMaterial, TiletypeVariant tileVariant, string tileDirection, Tiletype token)
 {
     if (tileDefs == null)
         tileDefs = new Dictionary<TiletypeShape, Dictionary<TiletypeSpecial, Dictionary<TiletypeMaterial, Dictionary<TiletypeVariant, Dictionary<string, Tiletype>>>>>();
     if (!tileDefs.ContainsKey(tileShape))
         tileDefs[tileShape] = new Dictionary<TiletypeSpecial, Dictionary<TiletypeMaterial, Dictionary<TiletypeVariant, Dictionary<string, Tiletype>>>>();
     if (!tileDefs[tileShape].ContainsKey(tileSpecial))
         tileDefs[tileShape][tileSpecial] = new Dictionary<TiletypeMaterial, Dictionary<TiletypeVariant, Dictionary<string, Tiletype>>>();
     if (!tileDefs[tileShape][tileSpecial].ContainsKey(tileMaterial))
         tileDefs[tileShape][tileSpecial][tileMaterial] = new Dictionary<TiletypeVariant, Dictionary<string, Tiletype>>();
     if (!tileDefs[tileShape][tileSpecial][tileMaterial].ContainsKey(tileVariant))
         tileDefs[tileShape][tileSpecial][tileMaterial][tileVariant] = new Dictionary<string, Tiletype>();
     tileDefs[tileShape][tileSpecial][tileMaterial][tileVariant][tileDirection] = token;
 }
 static void AddTile(TiletypeShape tileShape, TiletypeSpecial tileSpecial, TiletypeMaterial tileMaterial, TiletypeVariant tileVariant, string tileDirection, Tiletype token)
 {
     if (tileDefs == null)
     {
         tileDefs = new Dictionary <TiletypeShape, Dictionary <TiletypeSpecial, Dictionary <TiletypeMaterial, Dictionary <TiletypeVariant, Dictionary <string, Tiletype> > > > >();
     }
     if (!tileDefs.ContainsKey(tileShape))
     {
         tileDefs[tileShape] = new Dictionary <TiletypeSpecial, Dictionary <TiletypeMaterial, Dictionary <TiletypeVariant, Dictionary <string, Tiletype> > > >();
     }
     if (!tileDefs[tileShape].ContainsKey(tileSpecial))
     {
         tileDefs[tileShape][tileSpecial] = new Dictionary <TiletypeMaterial, Dictionary <TiletypeVariant, Dictionary <string, Tiletype> > >();
     }
     if (!tileDefs[tileShape][tileSpecial].ContainsKey(tileMaterial))
     {
         tileDefs[tileShape][tileSpecial][tileMaterial] = new Dictionary <TiletypeVariant, Dictionary <string, Tiletype> >();
     }
     if (!tileDefs[tileShape][tileSpecial][tileMaterial].ContainsKey(tileVariant))
     {
         tileDefs[tileShape][tileSpecial][tileMaterial][tileVariant] = new Dictionary <string, Tiletype>();
     }
     tileDefs[tileShape][tileSpecial][tileMaterial][tileVariant][tileDirection] = token;
 }