Exemplo n.º 1
0
    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);
        }
    }
Exemplo n.º 2
0
    public static void CreateSlot(int slot, GameMode mode)
    {
        UserSlotData.CreateSlot(slot, defaultName);
        mData = ((int)mode) << 11;
        UserSlotData.SetSlotValueInt(slot, dataKey, mData);

        mCurrentSlotLoaded = true;
    }
Exemplo n.º 3
0
 private static int GrabData(int slot)
 {
     if (mCurrentSlotLoaded && slot == UserSlotData.currentSlot)
     {
         return(mData);
     }
     else
     {
         int d = UserSlotData.GetSlotValueInt(slot, dataKey, 0);
         return(d);
     }
 }
Exemplo n.º 4
0
    //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);
        }
    }
Exemplo n.º 5
0
    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();
                }
            });
        }
    }
Exemplo n.º 6
0
    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);
            }
        }
    }
Exemplo n.º 7
0
 public static float GetClearTime(int slot)
 {
     return(UserSlotData.GetSlotValueFloat(slot, timeKey));
 }
Exemplo n.º 8
0
 public static bool HasClearTime(int slot)
 {
     return(UserSlotData.HasSlotValue(slot, timeKey));
 }
Exemplo n.º 9
0
 public static void LoadTimeTrialData()
 {
     UserSlotData.LoadSlot(99, true);
     mData = 4179007;
     mCurrentSlotLoaded = true;
 }
Exemplo n.º 10
0
 public static void SaveCurrentSlotData()
 {
     UserSlotData.SetSlotValueInt(UserSlotData.currentSlot, dataKey, mData);
 }
Exemplo n.º 11
0
 public static void LoadCurrentSlotData()
 {
     mData = UserSlotData.GetSlotValueInt(UserSlotData.currentSlot, dataKey, 0);
     mCurrentSlotLoaded = true;
 }
Exemplo n.º 12
0
 //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);
        }
    }
Exemplo n.º 14
0
 protected override void OnOpen()
 {
     UserSlotData.LoadSlot(-1, false);
 }
Exemplo n.º 15
0
    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;
    }
Exemplo n.º 16
0
 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);
         }
     }
 }