public bool Load(string saveStr) { if (saveStr.IsValid()) { UXMLDocument document = new UXMLDocument(); document.Parse(saveStr); achievments.Clear(); var root = document.Element(saveId); foreach (UXMLElement element in root.Elements("achievment")) { AchievmentInfo info = new AchievmentInfo(element); achievments.Add(info.Id, info); } foreach (AchievmentData data in resourceService.achievmentList) { AchievmentInfo dumpInfo = GetAchievment(data); } isLoaded = true; } else { InitSave(); } return(isLoaded); }
public void RewardAchievment(string id) { AchievmentInfo info = GetAchievment(id); if (info.HasReward) { AchievmentTierData nextTierData = info.NextTier; if (nextTierData != null) { engine.Cast <RavenhillEngine>().DropItems(new List <DropItem> { nextTierData.rewardItem }); info.GoToNextTier(); RavenhillEvents.OnAchievmentRewarded(info.Data, nextTierData); } } }
public static void OnTierAchieved(AchievmentInfo info, AchievmentTierData data) { TierAchieved?.Invoke(info, data); }