コード例 #1
0
 public void AddResearchPoints(string researchTypeID, float points)
 {
     if (!UseGlobalPointInventory && activeResearch == null)
     {
         Debug.LogWarning("No active research to add research points to. Global research inventory is disabled.");
     }
     else
     {
         ResearchPointInventory researchPointInventory = (!UseGlobalPointInventory) ? activeResearch.progressInventory : globalPointInventory;
         researchPointInventory.AddResearchPoints(researchTypeID, points);
         CheckBuyResearch();
         Trigger(-125623018, null);
     }
 }
コード例 #2
0
 private void CheckBuyResearch()
 {
     if (activeResearch != null)
     {
         ResearchPointInventory researchPointInventory = (!UseGlobalPointInventory) ? activeResearch.progressInventory : globalPointInventory;
         if (activeResearch.tech.CanAfford(researchPointInventory))
         {
             foreach (KeyValuePair <string, float> item in activeResearch.tech.costsByResearchTypeID)
             {
                 researchPointInventory.RemoveResearchPoints(item.Key, item.Value);
             }
             activeResearch.Purchased();
             Game.Instance.Trigger(-107300940, activeResearch.tech);
             GetNextTech();
         }
     }
 }
コード例 #3
0
 protected override void OnSpawn()
 {
     base.OnSpawn();
     if (globalPointInventory == null)
     {
         globalPointInventory = new ResearchPointInventory();
     }
     Subscribe(-1523247426, OnRolesUpdatedDelegate);
     Components.ResearchCenters.OnAdd    += CheckResearchBuildings;
     Components.ResearchCenters.OnRemove += CheckResearchBuildings;
     foreach (KPrefabID prefab in Assets.Prefabs)
     {
         ResearchCenter component = prefab.GetComponent <ResearchCenter>();
         if ((Object)component != (Object)null)
         {
             researchCenterPrefabs.Add(component);
         }
     }
 }