private void OnCloseEquipConceptCardWindow() { if (Object.op_Equality((Object)this.mToolTipRoot, (Object)null)) { return; } this.mUnit = MonoSingleton <GameManager> .Instance.Player.FindUnitDataByUniqueID(this.mUnit.UniqueID); UnitData dataOfClass = DataSource.FindDataOfClass <UnitData>(this.mToolTipRoot, (UnitData)null); dataOfClass.ConceptCard = this.mUnit.ConceptCard; dataOfClass.CalcStatus(); this.Refresh(this.mIsButtonEnable); GameParameter.UpdateAll(this.mToolTipRoot); }
public override void OnActivate(int pinID) { if (pinID != 0 || ((Behaviour)this).get_enabled()) { return; } GameManager instance = MonoSingleton <GameManager> .Instance; PlayerData player = instance.Player; UnitData unitDataByUniqueId = instance.Player.FindUnitDataByUniqueID((long)GlobalVars.SelectedUnitUniqueID); JobData job = unitDataByUniqueId.Jobs[(int)GlobalVars.SelectedUnitJobIndex]; int selectedEquipmentSlot = (int)GlobalVars.SelectedEquipmentSlot; EquipData selectedEquipData = GlobalVars.SelectedEquipData; int num = 0; int exp = 0; List <EnhanceMaterial> enhanceMaterials = GlobalVars.SelectedEnhanceMaterials; if (enhanceMaterials == null || enhanceMaterials.Count < 1) { return; } for (int index = 0; index < enhanceMaterials.Count; ++index) { EnhanceMaterial enhanceMaterial = enhanceMaterials[index]; ItemData itemData = enhanceMaterial.item; num += (int)itemData.Param.enhace_cost * selectedEquipData.GetEnhanceCostScale() / 100 * enhanceMaterial.num; exp += (int)itemData.Param.enhace_point * enhanceMaterial.num; } if (num > player.Gold) { this.ActivateOutputLinks(2); } else { selectedEquipData.GainExp(exp); if (unitDataByUniqueId != null) { unitDataByUniqueId.CalcStatus(); } for (int index = 0; index < enhanceMaterials.Count; ++index) { EnhanceMaterial enhanceMaterial = enhanceMaterials[index]; enhanceMaterial.item.Used(enhanceMaterial.num); } player.GainGold(-num); AnalyticsManager.TrackCurrencyUse(AnalyticsManager.CurrencyType.Zeni, AnalyticsManager.CurrencySubType.FREE, (long)num, "Enhance Equip", (Dictionary <string, object>)null); if (Network.Mode == Network.EConnectMode.Online) { Dictionary <string, int> usedItems = new Dictionary <string, int>(); for (int index = 0; index < enhanceMaterials.Count; ++index) { EnhanceMaterial enhanceMaterial = enhanceMaterials[index]; ItemData itemData = enhanceMaterial.item; if (enhanceMaterial.num >= 1) { if (!usedItems.ContainsKey(itemData.ItemID)) { usedItems[itemData.ItemID] = 0; } Dictionary <string, int> dictionary; string itemId; (dictionary = usedItems)[itemId = itemData.ItemID] = dictionary[itemId] + enhanceMaterial.num; } } this.ExecRequest((WebAPI) new ReqEquipExpAdd(job.UniqueID, selectedEquipmentSlot, usedItems, new Network.ResponseCallback(((FlowNode_Network)this).ResponseCallback))); ((Behaviour)this).set_enabled(true); } else { this.Success(); } } }