コード例 #1
0
 /// <summary>
 /// Sucht und initialisiert alle Loot-Typen und fügt diese zum angegebenen Loot-Pool hinzu
 /// </summary>
 /// <param name="fetcher">Der zu benutzende Fetcher</param>
 /// <param name="startMode">Der Loot-Pool</param>
 public virtual void InitLootables(ILootTypeFetcher <T> fetcher, string startMode)
 {
     currMode = startMode;
     if (!lootHashMap.Keys.Contains(startMode))
     {
         lootHashMap.Add(startMode, new List <ILootable <T> >());
     }
     InitLootables(fetcher);
 }
コード例 #2
0
 /// <summary>
 /// Sucht und initialisiert alle Loot-Typen
 /// </summary>
 /// <param name="fetcher">Der zu benutzende Fetcher</param>
 public virtual void InitLootables(ILootTypeFetcher <T> fetcher)
 {
     ILootable <T>[] newLoot = fetcher.GetAllLootableTypes().GetInstances().Select(o => o as ILootable <T>).ToArray();
     if (currMode != "All")
     {
         lootHashMap[currMode].AddRange(newLoot);
     }
     allInternalLoot.AddRange(newLoot);
 }
コード例 #3
0
 public void InitLootables(ILootTypeFetcher <string> fetcher, ItemLibraryMode startMode)
 {
     currMode = startMode;
     if (!lootHashMap.Keys.Contains(startMode))
     {
         lootHashMap.Add(startMode, new List <ILootable <string> >());
     }
     InitLootables(fetcher);
 }
コード例 #4
0
 public void InitLootables(ILootTypeFetcher <string> fetcher)
 {
     ILootable <string>[] newLoot = fetcher.GetAllLootableTypes().GetInstances().Select(o => o as ILootable <string>).ToArray();
     if (currMode != ItemLibraryMode.All)
     {
         lootHashMap[currMode].AddRange(newLoot);
     }
     allLoot.AddRange(newLoot);
 }
コード例 #5
0
        /// <summary>
        /// Konstruktor, der den Fetcher und den Anfangs-Loot-Pool setzt
        /// </summary>
        /// <param name="fetcher">Der Fetcher</param>
        /// <param name="startMode">Der Anfangs-Loot-Pool</param>
        public BaseSplitItemHandler(ILootTypeFetcher <T> fetcher, string startMode)
        {
            allInternalLoot = new List <ILootable <T> >();
            lootHashMap     = new Dictionary <string, List <ILootable <T> > >()
            {
                { "All", allInternalLoot }
            };

            InitLootables(fetcher, startMode);
        }
コード例 #6
0
        private SplitItemHandler(ILootTypeFetcher <string> fetcher, ItemLibraryMode startMode)
        {
            allLoot     = new List <ILootable <string> >();
            lootHashMap = new Dictionary <ItemLibraryMode, List <ILootable <string> > >()
            {
                { ItemLibraryMode.All, allLoot }
            };

            InitLootables(fetcher, startMode);
        }
コード例 #7
0
 /// <summary>
 /// Sucht und initialisiert alle Loot-Typen
 /// </summary>
 /// <param name="fetcher">Der zu benutzende Fetcher</param>
 public virtual void InitLootables(ILootTypeFetcher <T> fetcher)
 {
     Type[] types = fetcher.GetAllLootableTypes();
     allLoot = types.Select(t => t.GetInstance() as ILootable <T>).ToList();
 }
コード例 #8
0
 /// <summary>
 /// Konstruktor, der den Typ-Fetcher setzt
 /// </summary>
 /// <param name="fetcher">Der Typ-Fetcher</param>
 public BaseLootHolder(ILootTypeFetcher <T> fetcher)
 {
     InitLootables(fetcher);
 }