Exemplo n.º 1
0
 public void OnReset(object sender, TimerPhase e)
 {
     currentSplit = -1;
     lastLevel    = LevelTitle.Null;
     Model.CurrentState.IsGameTimePaused = true;
     WriteLog("---------Reset----------------------------------");
 }
Exemplo n.º 2
0
 private bool InALevel(LevelTitle level)
 {
     switch (level)
     {
     case LevelTitle.World1Level1:
     case LevelTitle.World1Level2:
     case LevelTitle.World1Level3:
     case LevelTitle.World1Level4:
     case LevelTitle.World1Level5:
     case LevelTitle.World1Level6:
     case LevelTitle.World2Level1:
     case LevelTitle.World2Level2:
     case LevelTitle.World2Level3:
     case LevelTitle.World2Level4:
     case LevelTitle.World2Level5:
     case LevelTitle.World2Level6:
     case LevelTitle.World3Level1:
     case LevelTitle.World3Level2:
     case LevelTitle.World3Level3:
     case LevelTitle.World3Level4:
     case LevelTitle.World3Level5:
     case LevelTitle.World3Level6:
     case LevelTitle.World4Level1:
     case LevelTitle.World4Level2:
     case LevelTitle.World4Level3:
     case LevelTitle.World4Level4:
     case LevelTitle.World4Level5:
     case LevelTitle.World4Level6:
         return(true);
     }
     return(false);
 }
Exemplo n.º 3
0
        public void ApplyData(User data, bool enableAddFriend, bool enableInteraction)
        {
            if (data == null)
            {
                Clear();
                return;
            }

            _data     = data;
            _username = data.username;

            Nickname.SetData(data);

            var title = LevelTitle.TitleOf(data.level);

            title = string.IsNullOrEmpty(title) ? "" : title;
            if (!string.IsNullOrEmpty(title))
            {
                title = string.Format("({0})", title);
            }
            else
            {
                title = "";
            }

            Level.text = string.Format("{0}级{1}", data.level, title);

            Money.SetCurrency(data.money, CurrencyType.GOLDEN_EGG);

            // 将胜率改成显示场次。
            // var rate = data.round_count > 0 ? (float)data.win_count/data.round_count : 0;
            var winCount = data.win_count;

            if (winCount < 0)
            {
                winCount = 0;
            }

            var loseCount = data.round_count - data.win_count;

            if (loseCount < 0)
            {
                loseCount = 0;
            }

            WinRate.text = string.Format("胜{0}场,败{1}场", winCount, loseCount);

            // Description.text = data.description;

            // 只有在需要添加好友并且检测是不是好友的情况下才显示添加好友按钮。
            var friendListResult = _friendtListResult.Read();
            var show             = enableAddFriend && !GameUtil.IsFriend(friendListResult, _username);

            if (AddFriendBtn.gameObject.activeSelf != show)
            {
                AddFriendBtn.gameObject.SetActive(show);
            }

            InitInteraction(enableInteraction);
        }
Exemplo n.º 4
0
    void Start()
    {
        musicManager = FindObjectOfType <MusicManager>();
        levelTitle   = FindObjectOfType <LevelTitle>();
        if (GameObject.FindObjectOfType <PlayerController>() != null)
        {
            playerBody = GameObject.FindObjectOfType <PlayerController>().GetComponent <Rigidbody2D>();
        }
        cursor       = FindObjectOfType <CustomCursor>();
        playerGun    = FindObjectOfType <Gun>();
        levelCurtain = FindObjectOfType <Fade>();
        if (levelCurtain == null)
        {
            InstantiateCurtain();
        }
                #if UNITY_WEBGL
        if (PlayerPrefsManager.ReturnMaxLevel() < 1)
        {
            PlayerPrefsManager.UnlockMaxLevel(1);
        }
                #endif
                #if UNITY_STANDALONE
        if (ReturnLevelNumber() == 1 && SaveManager.localMaxLevel < 1)
        {
            SaveManager.localMaxLevel = 1;
        }
        SaveManager.SaveGame();
                #endif

        if (SceneManager.GetActiveScene().buildIndex <= 3)
        {
            SetCustomCursor(false);
        }
        if (SceneManager.GetActiveScene().name == "03aWin")
        {
            musicManager.ChangeMusicOnExitMenus(34);
            Cursor.visible = false;
        }
        if (SceneManager.GetActiveScene().name == "00Splash")
        {
            Cursor.visible = false;
            if (autoLoadNextLevelAfter <= 0)
            {
                Debug.Log("Auto load disabled, use a positive number to enable");
            }
            else
            {
                Invoke("LoadNextLevel", autoLoadNextLevelAfter);
            }
        }
    }
Exemplo n.º 5
0
        public void ApplyData(UserBase data, bool enableAddFriend, bool enableInteraction, bool showReportBtn = true)
        {
            if (data == null)
            {
                Clear();
                return;
            }

            if (ReportBtn.gameObject.activeSelf != showReportBtn)
            {
                ReportBtn.gameObject.SetActive(showReportBtn);
            }

            _username = data.username;

            Nickname.SetData(data.nickname, data.vip);

            var title = LevelTitle.TitleOf(data.level);

            if (!string.IsNullOrEmpty(title))
            {
                title = string.Format("({0})", title);
            }
            else
            {
                title = "";
            }

            Level.text = string.Format("{0}级{1}", data.level, title);

            Money.SetCurrency(data.local_money, CurrencyType.GOLDEN_EGG);

            var rate = data.round_count > 0 ? (float)data.win_count / data.round_count : 0;

            WinRate.text = DataUtil.FormatWinRate(rate);

            // Description.text = data.description;

            // 只有在需要添加好友并且检测是不是好友的情况下才显示添加好友按钮。
            var friendListResult = _friendtListResult.Read();
            var show             = enableAddFriend && !GameUtil.IsFriend(friendListResult, _username);

            if (AddFriendBtn.gameObject.activeSelf != show)
            {
                AddFriendBtn.gameObject.SetActive(show);
            }

            InitInteraction(enableInteraction);
        }
Exemplo n.º 6
0
        private void RefreshContent()
        {
            if (_refreshTime >= _user.Timestamp)
            {
                return;
            }

            _refreshTime = _user.Timestamp;

            var user = _user.Read();

            if (user == null)
            {
                Clear();
                return;
            }

            Username.text = user.username;
            Nickname.text = user.nickname;

            ExpSlider.minValue = user.exp_floor;
            ExpSlider.maxValue = user.exp_ceil;
            ExpSlider.value    = user.exp;

            ExpCeilFloor.text = string.Format("{0}/{1}", user.exp - user.exp_floor, user.exp_ceil - user.exp_floor);
            CurLevel.text     = string.Format("{0}:{1}", user.level, LevelTitle.TitleOf(user.level));
            Sex.text          = user.sex == 1 ? "男" : "女";

            var featureSwitch        = _featureSwitch.Read();
            var isEnablePersonalInfo = featureSwitch != null && featureSwitch.personal_info;

            if (SexGroup.activeSelf != isEnablePersonalInfo)
            {
                SexGroup.SetActive(isEnablePersonalInfo);
            }

            Email.text = user.email;

            ResetChangeFlag();
        }
Exemplo n.º 7
0
        private void HandleSplits()
        {
            bool shouldSplit = false;

            if (currentSplit == -1)
            {
                if (settings.Splits.Count != 0)
                {
                    long vector = mem.AverageVector();
                    shouldSplit = mem.NextLevel() == LevelTitle.HubWorldConfigurationIntro && mem.PlayerState() == PlayerState.Sleeping && lastVector != vector;
                    lastVector  = vector;
                }
                else
                {
                    PlayerState state = mem.PlayerState();
                    shouldSplit = lastState == PlayerState.BeingDrawn && state != PlayerState.BeingDrawn && InALevel(mem.NextLevel());
                    lastState   = state;
                }
            }
            else if (Model.CurrentState.CurrentPhase == TimerPhase.Running)
            {
                if (currentSplit < Model.CurrentState.Run.Count && currentSplit < settings.Splits.Count)
                {
                    SplitName  split = settings.Splits[currentSplit];
                    LevelTitle level = mem.NextLevel();

                    switch (split)
                    {
                    case SplitName.Level_1_1_Enter: shouldSplit = lastLevel != LevelTitle.World1Level1 && level == LevelTitle.World1Level1; break;

                    case SplitName.Level_1_1: shouldSplit = lastLevel == LevelTitle.World1Level1 && level == LevelTitle.World1Level2; break;

                    case SplitName.Level_1_2: shouldSplit = lastLevel == LevelTitle.World1Level2 && level == LevelTitle.World1Level3; break;

                    case SplitName.Level_1_3: shouldSplit = lastLevel == LevelTitle.World1Level3 && level == LevelTitle.World1Level4; break;

                    case SplitName.Level_1_4: shouldSplit = lastLevel == LevelTitle.World1Level4 && level == LevelTitle.World1Level5; break;

                    case SplitName.Level_1_5: shouldSplit = lastLevel == LevelTitle.World1Level5 && level == LevelTitle.World1Level6; break;

                    case SplitName.Level_1_6: shouldSplit = lastLevel == LevelTitle.World1Level6 && level == LevelTitle.World1HubDone; break;

                    case SplitName.Level_2_1_Enter: shouldSplit = lastLevel != LevelTitle.World2Level1 && level == LevelTitle.World2Level1; break;

                    case SplitName.Level_2_1: shouldSplit = lastLevel == LevelTitle.World2Level1 && level == LevelTitle.World2Level2; break;

                    case SplitName.Level_2_2: shouldSplit = lastLevel == LevelTitle.World2Level2 && level == LevelTitle.World2Level3; break;

                    case SplitName.Level_2_3: shouldSplit = lastLevel == LevelTitle.World2Level3 && level == LevelTitle.World2Level4; break;

                    case SplitName.Level_2_4: shouldSplit = lastLevel == LevelTitle.World2Level4 && level == LevelTitle.World2Level5; break;

                    case SplitName.Level_2_5: shouldSplit = lastLevel == LevelTitle.World2Level5 && level == LevelTitle.World2Level6; break;

                    case SplitName.Level_2_6: shouldSplit = lastLevel == LevelTitle.World2Level6 && level == LevelTitle.World2HubDone; break;

                    case SplitName.Level_3_1_Enter: shouldSplit = lastLevel != LevelTitle.World3Level1 && level == LevelTitle.World3Level1; break;

                    case SplitName.Level_3_1: shouldSplit = lastLevel == LevelTitle.World3Level1 && level == LevelTitle.World3Level2; break;

                    case SplitName.Level_3_2: shouldSplit = lastLevel == LevelTitle.World3Level2 && level == LevelTitle.World3Level3; break;

                    case SplitName.Level_3_3: shouldSplit = lastLevel == LevelTitle.World3Level3 && level == LevelTitle.World3Level4; break;

                    case SplitName.Level_3_4: shouldSplit = lastLevel == LevelTitle.World3Level4 && level == LevelTitle.World3Level5; break;

                    case SplitName.Level_3_5: shouldSplit = lastLevel == LevelTitle.World3Level5 && level == LevelTitle.World3Level6; break;

                    case SplitName.Level_3_6: shouldSplit = lastLevel == LevelTitle.World3Level6 && level == LevelTitle.World3HubDone; break;

                    case SplitName.Level_4_1_Enter: shouldSplit = lastLevel != LevelTitle.World4Level1 && level == LevelTitle.World4Level1; break;

                    case SplitName.Level_4_1: shouldSplit = lastLevel == LevelTitle.World4Level1 && level == LevelTitle.World4Level2; break;

                    case SplitName.Level_4_2: shouldSplit = lastLevel == LevelTitle.World4Level2 && level == LevelTitle.World4Level3; break;

                    case SplitName.Level_4_3: shouldSplit = lastLevel == LevelTitle.World4Level3 && level == LevelTitle.World4Level4; break;

                    case SplitName.Level_4_4: shouldSplit = lastLevel == LevelTitle.World4Level4 && level == LevelTitle.World4Level5; break;

                    case SplitName.Level_4_5: shouldSplit = lastLevel == LevelTitle.World4Level5 && level == LevelTitle.World4Level6; break;

                    case SplitName.Level_4_6: shouldSplit = lastLevel == LevelTitle.World4Level6 && level == LevelTitle.World4HubDone; break;

                    case SplitName.Level_End_Normal: shouldSplit = mem.HasWonGame(); break;

                    case SplitName.Level_End_Mirror: shouldSplit = mem.InHypercube(); break;
                    }

                    lastLevel = level;
                }
                else if (settings.Splits.Count == 0)
                {
                    PlayerState state = mem.PlayerState();
                    shouldSplit = state == PlayerState.EnteringDoorway && lastState != PlayerState.EnteringDoorway;
                    lastState   = state;
                }

                Model.CurrentState.IsGameTimePaused = mem.IsLoading();
            }

            HandleSplit(shouldSplit, settings.Splits.Count == 0 && lastState == PlayerState.WaitingToBeDrawn);
        }