コード例 #1
0
    void OnGetCharacters(FaustComm.NetResponse msg)
    {
        if (msg.Succeeded)
        {
            ConnectionManager.Instance.SendACK(GetCharacters, true);

            Camera camera = this.GetComponentInChildren <Camera>();
            camera.cullingMask = 1 << LayerMask.NameToLayer("2DUILOADING") |
                                 1 << LayerMask.NameToLayer("2DUI");

            Debug.Log("Characters retrieved successfully.");
            GetCharactersResponse myMsg = (GetCharactersResponse)msg;
            for (int i = 0; i < FCConst.k_role_count; i++)
            {
                EnumRole role = (EnumRole)i;
                if (myMsg.playerInfos.ContainsKey(role))
                {
                    _playerInfos[role] = myMsg.playerInfos[role];
                }
                else
                {
                    _playerInfos[role] = null;
                }
            }

            _selectedRoleID = (EnumRole)PlayerPrefs.GetInt("LastUsedRole", 0);
            InitRoleModelsWithEquipments();
            if (IsForceToSelectServer)
            {
                _loadingStep          = EnumLoadingStep.step3;
                IsForceToSelectServer = false;
            }
            else
            {
                if (!IsFreshFish || IsManualSelectServerComplete)
                {
                    _loadingStep = EnumLoadingStep.step4;
                }
                else
                {
                    _loadingStep = EnumLoadingStep.step3;
                }
            }
        }
        else
        {
            UIMessageBoxManager.Instance.ShowMessageBox(Utils.GetErrorIDS(msg.errorCode), "", MB_TYPE.MB_OK, null);
        }
    }
コード例 #2
0
 public void StepAt(EnumLoadingStep step)
 {
     _loadingStep = step;
 }
コード例 #3
0
    void UpdateLoading()
    {
        switch (_loadingStep)
        {
        case EnumLoadingStep.step1:    //get Characters
            ConnectionManager.Instance.RegisterHandler(GetCharacters, true);
            _loadingStep = EnumLoadingStep.step2;
            break;

        case EnumLoadingStep.step2:      //waiting

            break;

        case EnumLoadingStep.step3:
            IsManualSelectServerComplete = false;
            if (!UIManager.Instance.IsUIOpened("UISelectServer"))
            {
                OnSelectServer();
                if (AppLoading.Instance != null)
                {
                    AppLoading.Instance.FinishLoading();
                }
            }
            break;

        case EnumLoadingStep.step4:
            if (UIManager.Instance.IsUIOpened("UISelectServer"))
            {
                UIManager.Instance.CloseUI("UISelectServer");
                UIManager.Instance.OpenUI("CharacterSelection");
            }
            accountId.text = NetworkManager.Instance.UdidDisplay;
            InitSelectServerButton();
            RefreshAccount();
            ShowRoleByID(NetworkManager.Instance.SelectedRole);
            _loadingStep = EnumLoadingStep.step5;
            break;

        case EnumLoadingStep.step5:
            //waiting...
            break;

        case EnumLoadingStep.step6:     //start game clicked
            _loadingStep = EnumLoadingStep.step7;
            StartGameCheckPlayerFirst();
            break;

        case EnumLoadingStep.step7:
            //waiting for net message.
            break;

        case EnumLoadingStep.step8:
            StartCoroutine(EnterGame());
            _loadingStep = EnumLoadingStep.NotAvalible;
            break;

        case EnumLoadingStep.step9:    //resume
            _roleAnimators[_selectedRoleID].enabled = true;
            _loadingStep = EnumLoadingStep.step5;
            break;

        default:
            break;
        }
    }
コード例 #4
0
 bool PassStep(EnumLoadingStep step)
 {
     return(step <= _loadingStep);
 }