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); } }
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(); } } }
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); } } }