public void Init(int slot) { mExists = UserSlotData.IsSlotExist(slot); if (mExists) { infoGO.SetActive(true); deleteGO.SetActive(true); newGO.SetActive(false); switch (SlotInfo.GetGameMode(slot)) { case SlotInfo.GameMode.Hardcore: portrait.spriteName = SlotInfo.IsDead(slot) ? portraitDead : portraitHardcore; break; default: portrait.spriteName = portraitNormal; break; } for (int i = 0; i < weapons.Length; i++) { weapons[i].SetActive(SlotInfo.WeaponIsUnlock(slot, i + 1)); } heartsLabel.text = "x" + SlotInfo.GetHeartCount(slot); int tankCount = 0; if (SlotInfo.IsSubTankEnergy1Acquired(slot)) { tankCount++; } if (SlotInfo.IsSubTankEnergy2Acquired(slot)) { tankCount++; } eTankLabel.text = "x" + tankCount; tankCount = 0; if (SlotInfo.IsSubTankWeapon1Acquired(slot)) { tankCount++; } if (SlotInfo.IsSubTankWeapon2Acquired(slot)) { tankCount++; } wTankLabel.text = "x" + tankCount; armor.color = SlotInfo.IsArmorAcquired(slot) ? Color.white : Color.black; clearTimeLabel.text = "CLEAR TIME: " + SlotInfo.GetClearTimeString(slot); } else { infoGO.SetActive(false); deleteGO.SetActive(false); newGO.SetActive(true); } }
public static void CreateSlot(int slot, GameMode mode) { UserSlotData.CreateSlot(slot, defaultName); mData = ((int)mode) << 11; UserSlotData.SetSlotValueInt(slot, dataKey, mData); mCurrentSlotLoaded = true; }
private static int GrabData(int slot) { if (mCurrentSlotLoaded && slot == UserSlotData.currentSlot) { return(mData); } else { int d = UserSlotData.GetSlotValueInt(slot, dataKey, 0); return(d); } }
//call this once the last level's time has been computed (during Player's Final state) public static void ComputeClearTime() { float t = 0; string[] levelTimeKeys = UserData.instance.GetKeys(itm => itm.Key.LastIndexOf(LevelController.levelTimePostfix) != -1); for (int i = 0; i < levelTimeKeys.Length; i++) { t += UserData.instance.GetFloat(levelTimeKeys[i]); } float oldT = UserSlotData.GetSlotValueFloat(UserSlotData.currentSlot, timeKey, float.MaxValue); if (t < oldT) { UserSlotData.SetSlotValueFloat(UserSlotData.currentSlot, timeKey, t); } }
void OnDeleteClick(GameObject go) { int slot = GetSlot(go); if (slot != -1) { mLateRefresh = true; mSelectedSlot = slot; UIModalConfirm.Open(GameLocalize.GetText("delete_confirm_title"), GameLocalize.GetText("delete_confirm_desc"), delegate(bool yes) { if (yes) { SlotInfo.DeleteData(slot); UserSlotData.DeleteSlot(slot); PlayerPrefs.Save(); } }); } }
void OnInfoClick(GameObject go) { int slot = GetSlot(go); if (slot != -1) { mSelectedSlot = slot; if (SlotInfo.IsDead(slot)) { UIModalConfirm.Open(GameLocalize.GetText("dead_confirm_title"), GameLocalize.GetText("dead_confirm_desc"), delegate(bool yes) { if (yes) { SlotInfo.DeleteData(slot); UserSlotData.DeleteSlot(slot); SlotInfo.CreateSlot(ModalSaveSlots.selectedSlot, SlotInfo.GameMode.Hardcore); SceneState.instance.ResetGlobalValues(); SceneState.instance.ResetValues(); AchievementFixRetroActive(); Main.instance.sceneManager.LoadScene(Scenes.levelSelect); } }); } else { UserSlotData.LoadSlot(slot, true); SlotInfo.LoadCurrentSlotData(); SceneState.instance.ResetGlobalValues(); SceneState.instance.ResetValues(); AchievementFixRetroActive(); Main.instance.sceneManager.LoadScene(Scenes.levelSelect); } } }
public static float GetClearTime(int slot) { return(UserSlotData.GetSlotValueFloat(slot, timeKey)); }
public static bool HasClearTime(int slot) { return(UserSlotData.HasSlotValue(slot, timeKey)); }
public static void LoadTimeTrialData() { UserSlotData.LoadSlot(99, true); mData = 4179007; mCurrentSlotLoaded = true; }
public static void SaveCurrentSlotData() { UserSlotData.SetSlotValueInt(UserSlotData.currentSlot, dataKey, mData); }
public static void LoadCurrentSlotData() { mData = UserSlotData.GetSlotValueInt(UserSlotData.currentSlot, dataKey, 0); mCurrentSlotLoaded = true; }
//call this before deleting the slot public static void DeleteData(int slot) { UserSlotData.DeleteValue(slot, dataKey); UserSlotData.DeleteValue(slot, timeKey); ClearCurrentSlotLoaded(); }
IEnumerator DoIt() { Achievement achieve = Achievement.instance; WaitForFixedUpdate wait = new WaitForFixedUpdate(); //wait for services to be completed while (!achieve.isReady) { yield return(wait); } Debug.Log("retro active ready"); //wait for user slot UserSlotData usd = UserData.instance as UserSlotData; if (usd) { while (usd.slot == -1) { yield return(wait); } } //now for the checks Debug.Log("retro active check"); if (LevelController.IsLevelComplete("level_katgirl")) { achieve.NotifyUpdate(achieve.GetDataById(7041), 0, true); } if (LevelController.IsLevelComplete("level_lightninggirl")) { achieve.NotifyUpdate(achieve.GetDataById(7038), 0, true); } if (LevelController.IsLevelComplete("level_tankgirl")) { achieve.NotifyUpdate(achieve.GetDataById(7039), 0, true); } if (LevelController.IsLevelComplete("level_valleygirl")) { achieve.NotifyUpdate(achieve.GetDataById(7033), 0, true); } if (LevelController.IsLevelComplete("level_clonegirl")) { achieve.NotifyUpdate(achieve.GetDataById(7036), 0, true); } if (LevelController.IsLevelComplete("level_hipster")) { achieve.NotifyUpdate(achieve.GetDataById(7034), 0, true); } if (LevelController.IsLevelComplete("level_final_0")) { achieve.NotifyUpdate(achieve.GetDataById(7037), 0, true); } if (LevelController.IsLevelComplete("level_final_1")) { achieve.NotifyUpdate(achieve.GetDataById(7035), 0, true); } if (LevelController.IsLevelComplete("level_final_2")) { achieve.NotifyUpdate(achieve.GetDataById(7032), 0, true); } if (LevelController.IsLevelComplete("level_final_boss_boss")) { achieve.NotifyUpdate(achieve.GetDataById(7040), 0, true); if (SlotInfo.GetGameMode(usd.slot) == SlotInfo.GameMode.Hardcore) { achieve.NotifyUpdate(achieve.GetDataById(7049), 0, true); if (PlayerStats.deathCount < 1) { achieve.NotifyUpdate(achieve.GetDataById(7054), 0, true); } } } int heartFlags = SlotInfo.GetHeartFlags(usd.slot); int itemFlags = SlotInfo.GetItemsFlags(usd.slot); if (heartFlags == 255 && itemFlags == 31) { achieve.NotifyUpdate(achieve.GetDataById(7052), 0, true); } }
protected override void OnOpen() { UserSlotData.LoadSlot(-1, false); }
IEnumerator DoWait() { yield return(StartCoroutine(Achievement.instance.WaitServiceComplete())); waitGO.SetActive(false); UICamera.selectedObject = items[0].l.gameObject; for (int i = 0; i < items.Length; i++) { items[i].l.onClick = OnItemClick; //check locked bool isLocked; if (TimeTrial.instance.data[i].requireUnlock) { if (!Achievement.instance.AchievementIsUnlocked(TimeTrial.instance.data[i].achieveId)) { isLocked = true; //go through slot data ModalSaveSlots modalSlots = UIModalManager.instance.ModalGetController <ModalSaveSlots>("slots"); for (int s = 0; s < modalSlots.slots.Length; s++) { SceneState.instance.ResetGlobalValues(); UserSlotData.LoadSlot(s, false); if (LevelController.IsLevelComplete(TimeTrial.instance.data[i].level)) { isLocked = false; break; } UserSlotData.LoadSlot(-1, false); } } else { isLocked = false; } } else { isLocked = false; } if (isLocked) { items[i].label.text = "?????"; items[i].label.color = Color.gray; items[i].time.text = "BEST - ---:--.--"; items[i].locked = true; } else { items[i].label.text = TimeTrial.instance.data[i].name; items[i].label.color = activeColor; if (TimeTrial.Exists(TimeTrial.instance.data[i].level)) { items[i].time.text = "BEST - " + LevelController.LevelTimeFormat(TimeTrial.Load(TimeTrial.instance.data[i].level)); } else { items[i].time.text = "BEST - ---:--.--"; } items[i].locked = false; } } back.onClick = OnReturn; }
void OnUserDataLoad(UserSlotData ud) { //update states if(mStates != null && !string.IsNullOrEmpty(mScene)) { foreach(KeyValuePair<string, int> val in mStates) { string key = string.Format("{0}[{1}]", mScene, val.Key); mStates[name] = ud.GetInt(key, val.Value); } } }