public async Task ProgressAchievementAsync(AchievementID id, IUserMessage msg, int progression, string key) { if (!_achievements.ContainsKey(id)) { _achievements.Add(id, new UserAchievement(AchievementList.GetAchievement(id), 0, new List <string>())); } var achievement = _achievements[id]; int oldLevel = achievement.GetLevel(); achievement.AddProgression(progression, key); int newLevel = achievement.GetLevel(); if (newLevel > oldLevel) { IEmote emote; if (newLevel == 3) { emote = new Emoji("🥇"); // Gold } else if (newLevel == 2) { emote = new Emoji("🥈"); // Silver } else { emote = new Emoji("🥉"); // Copper } await msg?.AddReactionAsync(emote); Program.p.db.UpdateProfile(this); } }
public Achievement(string achievementID, string name = "", string desc = "") { this.achievementID = (AchievementID)Enum.Parse(typeof(AchievementID), achievementID); this.name = name; description = desc; achieved = false; }
/// <summary> /// This method unlocks achievements, if found - and not already unlocked. /// </summary> /// <param name="id">The achievement ID of the achievement to be unlocked.</param> private void UnlockAchievement(AchievementID id) { Achievement ach; bool found = achievements.TryGetValue(id, out ach); if (found && !ach.achieved) { ach.achieved = true; // mark it down SteamUserStats.SetAchievement(id.ToString()); achievementCounter++; //unlock meta-achievement if (achievementCounter == 15) { UnlockAchievement(AchievementID.ACH_HALF_OF_ALL_ACHIEVEMENTS); } // store stats storeStats = true; } else if (!found) { Debug.Log("AchievementID not found in Dictionary"); } }
public static void ReportAchievement(AchievementID id) { if (Social.localUser.authenticated && id != 0) { Social.ReportProgress(TankAchievement.GetAchievement(id), 100.0, delegate { }); } }
public async Task ProgressAchievementAsync(AchievementID achievementID, int progression, string key, Discord.IUserMessage msg, ulong userId) { var profile = GetProfile(userId); if (profile != null) // Achievements don't progress if we don't have a profile { await profile.ProgressAchievementAsync(achievementID, msg, progression, key); } }
protected void assignAchievementToMember(Member member, AchievementID achievementID) { Achievement achievement = _achievementsRepo.Achievements.FirstOrDefault(x => x.ID == (long)achievementID); if (achievement != null) { assignAchievementToMember(member, achievement); } }
public Achievement GetAchievementData(AchievementID achv) { for (int i = 0; i < allAchievements.Length; i++) { if (allAchievements[i].id == achv) { return(allAchievements[i]); } } return(null); }
public void AwardEventAchievement(AchievementID achv, bool awardShop) { Achievement data = GetAchievementData(achv); if (!data.isEventAchievement) { Debug.LogError("Tried to award an achievement that's not an event! " + achv); return; // Not an event achievement (either you got it or not). } PlayerPrefs.SetInt(data.playerPrefsKey, 0); // The key exists, you got the achievement. UpdateProgressAll(awardShop); }
public void UnlockAchievement(AchievementID achievement) { AchievementItemController item = achievementItems[(int)achievement]; if (item.unlocked) { return; } ShowNotification(); PlayerPrefs.SetInt(item.achievement.id, 1); item.unlocked = true; item.RefreshView(); }
public void UnlockAchievement(AchievementID achievementID) { if (!SteamManager.Initialized && !debugMode) { return; } bool achivementFound = false; foreach (var a in Achievements) { if (a.achievementID == achievementID) { achivementFound = true; if (a.achieved) { if (debugMode) { Debug.Log("Already unlocked: " + a.achievementID.ToString()); } return; } a.achieved = true; LastAchievement(); if (debugMode) { Debug.Log("Unlocked: " + a.achievementID.ToString()); return; } break; } } if (!achivementFound) { Debug.LogWarning("Achievement Not Found " + achievementID + " !"); return; } // mark it down SteamUserStats.SetAchievement(achievementID.ToString()); StartCoroutine(StoreSteamData()); }
public bool Achieved(AchievementID id) { foreach (var a in Achievements) { if (a.achievementID == id) { if (a.achieved) { return(true); } else { return(false); } } } return(false); }
public override void LogAchievementData(AchievementID id) { switch (id) { case AchievementID.ACH_CREDITS_VIEWED: UnlockAchievement(AchievementID.ACH_CREDITS_VIEWED); break; case AchievementID.ACH_PICK_SPACETIME_MANGO: UnlockAchievement(AchievementID.ACH_PICK_SPACETIME_MANGO); break; case AchievementID.ACH_A_MILLION_SHOTS: bulletsShot++; break; case AchievementID.ACH_LAST_MAN_STANDING: if (currentMode.Equals("normal")) { UnlockAchievement(AchievementID.ACH_LAST_MAN_STANDING); } break; case AchievementID.ACH_NO_DAMAGE_UNTIL_W10: if (currentMode.Equals("normal")) { UnlockAchievement(AchievementID.ACH_NO_DAMAGE_UNTIL_W10); } break; case AchievementID.ACH_SMART_ENOUGH_FOR_THE_MENU: UnlockAchievement(AchievementID.ACH_SMART_ENOUGH_FOR_THE_MENU); break; case AchievementID.ACH_SMARTPHONE_JOIN: UnlockAchievement(AchievementID.ACH_SMARTPHONE_JOIN); break; } }
public static string GetAchievement(AchievementID id) { return(achievementIds[(int)id]); }
public static Achievement GetAchievement(AchievementID id) { return(_achievements[id]); }
private void HandleAchievementDropdownValueChanged(AchievementID achievement) { achievementToShow = achievement; }
public virtual void LogAchievementData(AchievementID id) { }
public override void OnInspectorGUI() { base.OnInspectorGUI(); AchievementController ac = (AchievementController)target; GUILayout.Space(10f); idToMove = (AchievementID)EditorGUILayout.EnumPopup("ID To Move:", idToMove); placeBelow = (AchievementID)EditorGUILayout.EnumPopup("Place Below:", placeBelow); if (GUILayout.Button("Move Achievement")) { if (idToMove != placeBelow) { int moveAchvIndex = -1; int placeBelowIndex = -1; for (int i = 0; i < ac.allAchievements.Length; i++) { if (ac.allAchievements[i].id == idToMove) { moveAchvIndex = i; break; } } if (moveAchvIndex >= 0) { for (int i = 0; i < ac.allAchievements.Length; i++) { if (ac.allAchievements[i].id == placeBelow) { placeBelowIndex = i; break; } } int targetIndex = placeBelowIndex + 1; // Check if we are already below this target ID. if (placeBelowIndex > -1 && moveAchvIndex != targetIndex) { List <Achievement> achvList = new List <Achievement>(ac.allAchievements); bool movedUp = false; if (moveAchvIndex > ac.allAchievements.Length - 1) { achvList.Add(ac.allAchievements[moveAchvIndex]); // Place at the end. } else { achvList.Insert(targetIndex, achvList[moveAchvIndex]); movedUp = (targetIndex < moveAchvIndex); } if (movedUp) { achvList.RemoveAt(moveAchvIndex + 1); } else { achvList.RemoveAt(moveAchvIndex); } // Apply array changes. ac.allAchievements = achvList.ToArray(); LutonUtils.Editor.SetDirty(ac); } } } } }
public void DisplayAchievement(AchievementID id) { var go = Instantiate(_gameObject, transform); _achievements = new Dictionary <AchievementID, Achievement>(); }
public bool HaveAchievement(AchievementID id) => _achievements.ContainsKey(id);