private void onAchievementsLoaded(string array) { ISN_Result result = new ISN_Result(false); if (array.Equals(string.Empty)) { OnAchievementsLoaded(result); dispatcher.dispatch(GAME_CENTER_ACHIEVEMENTS_LOADED, result); return; } string[] data; data = array.Split("," [0]); for (int i = 0; i < data.Length; i += 2) { AchievementTemplate tpl = new AchievementTemplate(); tpl.id = data[i]; tpl.progress = System.Convert.ToSingle(data[i + 1]); submitAchievement(tpl); } _IsAchievmentInfoLoaded = true; OnAchievementsLoaded(result); dispatcher.dispatch(GAME_CENTER_ACHIEVEMENTS_LOADED, result); }
private void CompleteAchievement(AchievementTemplate achievement) { lock (this.m_lock) { var reward = this.Owner.Record.AchievementRewards.FirstOrDefault(entry => entry == this.Owner.Level); if (reward == null) { reward = new PlayerAchievementReward(this.Owner, achievement); this.Owner.Record.AchievementRewards.Add(reward); } else { reward.AddRewardableAchievement(achievement); } this.Owner.Record.FinishedAchievements.Add((ushort)achievement.Id); this.Owner.Record.AchievementPoints += (int)achievement.Points; this.m_finishedAchievements.Add(achievement); } AchievementHandler.SendAchievementFinishedMessage(this.Owner.Client, (ushort)achievement.Id, this.Owner.Level); this.OnAchievementCompleted(achievement); }
private void OnAchievementProgress(CEvent e) { Debug.Log("OnAchievementProgress"); AchievementTemplate tpl = e.data as AchievementTemplate; Debug.Log(tpl.id + ": " + tpl.progress.ToString()); }
private void OnAchievementCompleted(AchievementTemplate achievement) { var achievementCriterion = Singleton <AchievementManager> .Instance.TryGetAchievementCriterion(achievement); if (achievementCriterion != null) { this.AddCriterion(achievementCriterion); } }
public bool Remove(AchievementTemplate achievement) { if (this.m_rewardAchievementIds.Remove((ushort)achievement.Id)) { return(this.m_rewardAchievements.Remove(achievement)); } return(false); }
// CONSTRUCTORS public AchievementCriterionData(ComparaisonOperatorEnum @operator, params string[] parameters) : base(@operator, parameters) { if (uint.TryParse(base[0], out this.m_achievementId)) { this.m_achievement = Singleton <AchievementManager> .Instance.TryGetAchievement(this.m_achievementId); } else { throw new Exception(); } }
private void OnAchievementProgress(CEvent e) { Debug.Log("OnAchievementProgress"); ISN_AcheivmentProgressResult result = e.data as ISN_AcheivmentProgressResult; if (result.IsSucceeded) { AchievementTemplate tpl = result.info; Debug.Log(tpl.id + ": " + tpl.progress.ToString()); } }
private void onAchievementProgressChanged(string array) { string[] data; data = array.Split("," [0]); AchievementTemplate tpl = new AchievementTemplate(); tpl.id = data [0]; tpl.progress = System.Convert.ToSingle(data [1]); submitAchievement(tpl); dispatcher.dispatch(GAME_CENTER_ACHIEVEMENT_PROGRESS, tpl); }
//-------------------------------------- // PRIVATE METHODS //-------------------------------------- private void submitAchievement(AchievementTemplate tpl) { bool isContains = false; foreach (AchievementTemplate t in _achievements) { if (t.id.Equals(tpl.id)) { isContains = true; t.progress = tpl.progress; } } if (!isContains) { _achievements.Add(tpl); } }
private void onAchievementProgressChanged(string array) { string[] data; data = array.Split("," [0]); AchievementTemplate tpl = new AchievementTemplate(); tpl.Id = data [0]; tpl.Progress = System.Convert.ToSingle(data [1]); ISN_AchievementProgressResult result = new ISN_AchievementProgressResult(tpl); submitAchievement(tpl); OnAchievementsProgress(result); Dispatcher.dispatch(GAME_CENTER_ACHIEVEMENT_PROGRESS, result); }
public static void registerAchievement(string achievemenId) { bool isContains = false; foreach (AchievementTemplate t in _achievements) { if (t.id.Equals(achievemenId)) { isContains = true; } } if (!isContains) { AchievementTemplate tpl = new AchievementTemplate(); tpl.id = achievemenId; tpl.progress = 0; _achievements.Add(tpl); } }
private void onAchievementsLoaded(string array) { if (array.Equals(string.Empty)) { dispatcher.dispatch(GAME_CENTER_ACHIEVEMENTS_LOADED); return; } string[] data; data = array.Split("," [0]); for (int i = 0; i < data.Length; i += 2) { AchievementTemplate tpl = new AchievementTemplate(); tpl.id = data[i]; tpl.progress = System.Convert.ToSingle(data[i + 1]); submitAchievement(tpl); } dispatcher.dispatch(GAME_CENTER_ACHIEVEMENTS_LOADED); }
public bool RewardAchievement(AchievementTemplate achievement, out int experience, out int guildExperience) { bool result; PlayerAchievementReward reward = null; experience = 0; guildExperience = 0; if (achievement != null) { lock (this.m_lock) { foreach (var item in this.Owner.Record.AchievementRewards) { if (item.Contains(achievement)) { reward = item; break; } } } if (reward != null) { result = this.RewardAchievement(achievement, reward, out experience, out guildExperience); } else { result = false; } } else { result = false; } return(result); }
//-------------------------------------- // PRIVATE METHODS //-------------------------------------- private void submitAchievement(AchievementTemplate tpl) { bool isContains = false; foreach (AchievementTemplate t in _achievements) { if (t.id.Equals(tpl.id)) { isContains = true; t.progress = tpl.progress; } } if (IOSNativeSettings.Instance.UsePPForAchievements) { SaveAchievementProgress(tpl.id, tpl.progress); } if (!isContains) { _achievements.Add(tpl); } }
private void onAchievementsLoaded(string array) { ISN_Result result = new ISN_Result (true); if(array.Equals(string.Empty)) { OnAchievementsLoaded (result); Dispatcher.dispatch (GAME_CENTER_ACHIEVEMENTS_LOADED, result); return; } string[] data; data = array.Split("," [0]); for(int i = 0; i < data.Length; i+=3) { AchievementTemplate tpl = new AchievementTemplate(); tpl.Id = data[i]; tpl.Description = data[i + 1]; tpl.Progress = System.Convert.ToSingle(data[i + 2]); submitAchievement (tpl); } _IsAchievementsInfoLoaded = true; OnAchievementsLoaded (result); Dispatcher.dispatch (GAME_CENTER_ACHIEVEMENTS_LOADED, result); }
private void onAchievementProgressChanged(string array) { string[] data; data = array.Split("," [0]); AchievementTemplate tpl = new AchievementTemplate(); tpl.Id = data [0]; tpl.Progress = System.Convert.ToSingle(data [1]) ; ISN_AchievementProgressResult result = new ISN_AchievementProgressResult(tpl); submitAchievement (tpl); OnAchievementsProgress(result); Dispatcher.dispatch (GAME_CENTER_ACHIEVEMENT_PROGRESS, result); }
public static void RegisterAchievement(string achievementId) { bool isContains = false; foreach(AchievementTemplate t in _achievements) { if (t.Id.Equals (achievementId)) { isContains = true; } } if(!isContains) { AchievementTemplate tpl = new AchievementTemplate (); tpl.Id = achievementId; tpl.Progress = 0; _achievements.Add (tpl); } }
public void AddRewardableAchievement(AchievementTemplate achievement) { this.m_rewardAchievements.Add(achievement); this.m_rewardAchievementIds.Add((ushort)achievement.Id); }
//-------------------------------------- // PRIVATE METHODS //-------------------------------------- private void submitAchievement(AchievementTemplate tpl) { bool isContains = false; foreach(AchievementTemplate t in _achievements) { if (t.id.Equals (tpl.id)) { isContains = true; t.progress = tpl.progress; } } if(!isContains) { _achievements.Add (tpl); } }
private void onAchievementsLoaded(string array) { if(array.Equals(string.Empty)) { dispatcher.dispatch (GAME_CENTER_ACHIEVEMENTS_LOADED); return; } string[] data; data = array.Split("," [0]); for(int i = 0; i < data.Length; i+=2) { AchievementTemplate tpl = new AchievementTemplate(); tpl.id = data[i]; tpl.progress = System.Convert.ToSingle(data[i + 1]); submitAchievement (tpl); } dispatcher.dispatch (GAME_CENTER_ACHIEVEMENTS_LOADED); }
private void onAchievementProgressChanged(string array) { string[] data; data = array.Split("," [0]); AchievementTemplate tpl = new AchievementTemplate(); tpl.id = data [0]; tpl.progress = System.Convert.ToSingle(data [1]) ; submitAchievement (tpl); dispatcher.dispatch (GAME_CENTER_ACHIEVEMENT_PROGRESS, tpl); }
public bool RewardAchievement(AchievementTemplate achievement, PlayerAchievementReward owner, out int experience, out int guildExperience) { experience = 0; guildExperience = 0; if (!owner.Remove(achievement)) { return(false); } experience = achievement.GetExperienceReward(this.Owner.Client); if (experience > 0) { if (this.Owner.GuildMember != null && this.Owner.GuildMember.GivenPercent > 0) { int guildXP = (int)(experience * (this.Owner.GuildMember.GivenPercent * 0.01)); int adjustedGuildExperience = (int)this.Owner.Guild.AdjustGivenExperience(this.Owner, (long)guildXP); adjustedGuildExperience = Math.Min(Guild.MaxGuildXP, adjustedGuildExperience); experience = (int)(experience * (100.0 - this.Owner.GuildMember.GivenPercent) * 0.01); if (adjustedGuildExperience > 0) { guildExperience = adjustedGuildExperience; } } } if (experience < 0) { experience = 0; } var kamas = achievement.GetKamasReward(this.Owner.Client); if (kamas > 0) { this.Owner.Inventory.AddKamas(kamas); } foreach (var item in achievement.Rewards) { for (int i = 0; i < item.ItemsReward.Length; i++) { var id = item.ItemsReward[i]; var quantity = item.ItemsQuantityReward[i]; var itemTemplate = Singleton <ItemManager> .Instance.TryGetTemplate((int)id); if (itemTemplate != null) { this.Owner.Inventory.AddItem(itemTemplate, quantity); } } foreach (var emoteId in item.EmotesReward) { // TODO } foreach (int spellId in item.SpellsReward) { if (!this.Owner.Spells.HasSpell(spellId)) { this.Owner.Spells.LearnSpell(spellId); } } foreach (ushort titleId in item.TitlesReward) { if (!this.Owner.HasTitle(titleId)) { this.Owner.AddTitle(titleId); } } foreach (ushort ornamentId in item.OrnamentsReward) { if (!this.Owner.HasOrnament(ornamentId)) { this.Owner.AddOrnament(ornamentId); } } } // TODO : items if (!owner.Any()) { this.Owner.Record.AchievementRewards.Remove(owner); } return(true); }
public void CreateLocalSave(Text nameText) { Name = nameText.text; Achievements = new AchievementTemplate(); Save(); }
public ISN_AchievementProgressResult(AchievementTemplate tpl):base(true) { _tpl = tpl; }
public AchievementCriterion TryGetAchievementCriterion(AchievementTemplate achievement) { return(this.m_achievementCriterions.ContainsKey(achievement) ? this.m_achievementCriterions[achievement] : null); }
//-------------------------------------- // PRIVATE METHODS //-------------------------------------- private void submitAchievement(AchievementTemplate tpl) { bool isContains = false; foreach(AchievementTemplate t in _achievements) { if (t.Id.Equals (tpl.Id)) { isContains = true; t.Progress = tpl.Progress; } } if(IOSNativeSettings.Instance.UsePPForAchievements) { SaveAchievementProgress(tpl.Id, tpl.Progress); } if(!isContains) { _achievements.Add (tpl); } }
public ISN_AchievementProgressResult(AchievementTemplate tpl) : base(true) { _tpl = tpl; }
public bool Contains(AchievementTemplate achievement) { return(this.m_rewardAchievements.Contains(achievement)); }