public void HandleEarnedShardReward(string equipmentId, int count) { CurrentPlayer currentPlayer = Service.CurrentPlayer; Dictionary <string, int> shards = currentPlayer.Shards; EquipmentVO equipmentDataByID = ArmoryUtils.GetEquipmentDataByID(equipmentId, 1); if (equipmentDataByID == null) { return; } int num = count; if (shards.ContainsKey(equipmentId)) { num += shards[equipmentId]; } currentPlayer.ModifyShardAmount(equipmentId, num); EquipmentVO nextEquipmentVOUpgrade = this.GetNextEquipmentVOUpgrade(equipmentId); if (nextEquipmentVOUpgrade != null && shards[equipmentId] - count < nextEquipmentVOUpgrade.UpgradeShards && nextEquipmentVOUpgrade.UpgradeShards < shards[equipmentId]) { this.AllowShowEquipmentTabBadge = true; Service.EventManager.SendEvent(EventId.EquipmentNowUpgradable, equipmentId); } Service.EventManager.SendEvent(EventId.ShardsEarned, null); if (!ArmoryUtils.IsEquipmentOwned(currentPlayer, equipmentDataByID)) { this.TryToUnlockPlayerEquipment(equipmentDataByID); } }