コード例 #1
0
    /// <summary>
    /// Wait of initializat all static data
    /// </summary>
    /// <returns></returns>
    private IEnumerator CheckOnInitialized()
    {
        bool allInitializated = false;

        while (!allInitializated)
        {
            allInitializated = true;
            foreach (Collection initilizationClass in _initializationData)
            {
                if (!initilizationClass.allInitializated)
                {
                    allInitializated = false;
                    yield return(null);
                }
                if (initilizationClass.initializationStatus == EnumInitializationStatus.initializationError)
                {
                    yield break;
                }
            }
        }
        _allStaticData = new Dictionary <EnumStaticDataType, CollectionOfData>();
        for (int i = 0; i < _initializationData.Count; i++)
        {
            _allStaticData.Add(_initializationData[i].Type, _initializationData[i].CollectionOfData);
        }

        _initializationStatus = EnumInitializationStatus.initializated;
        yield break;
    }
コード例 #2
0
    private IEnumerator CheckOfInitializateAllScreens()
    {
        while (true)
        {
            foreach (IInitilizationProcess pair in _uiScreens.Values)
            {
                if (pair.initializationStatus == EnumInitializationStatus.initializationError)
                {
                    LoggingManager.AddErrorToLog("Problem with " + pair.ClassNameInInitialization);
                    _initializationStatus = EnumInitializationStatus.initializationError;
                    yield break;
                }

                if (!pair.allInitializated)
                {
                    yield return(null);
                }
            }

            if (MainInitializationProcess.Instance.FirstScreen != EnumUIScreenID.withOutName)
            {
                ShowScreenByID(MainInitializationProcess.Instance.FirstScreen);
            }

            _initializationStatus = EnumInitializationStatus.initializated;
            yield break;
        }
        yield break;
    }
コード例 #3
0
    private string GetInitializationStatusByEnum(EnumInitializationStatus initializationStatus)
    {
        string res = "";

        switch (initializationStatus)
        {
        case EnumInitializationStatus.waiting:
            res = "Waiting";
            break;

        case EnumInitializationStatus.inProgress:
            res = "<color=yellow>In Progress</color>";
            break;

        case EnumInitializationStatus.initializated:
            res = "<color=green>Initializated</color>";
            break;

        case EnumInitializationStatus.initializationError:
            res = "<color=red>Initialization Error</color>";
            break;

        default:
            break;
        }
        return(res);
    }
コード例 #4
0
    public void InitCollaction <T>(string staticFileName) where T : DataVO
    {
        StartInitialization();
        T traceValue;

        LoggingManager.Log(typeof(T) + " Start initialization");
        _collactionName = staticFileName;
        StaticResourcesXmlLoader <T> container = StaticResourcesXmlLoader <T> .LoadContainer(UrlXmls.staticData + staticFileName);

        _collaction     = new Dictionary <string, IStaticData>();
        _listOfAllNames = new List <string>();
        foreach (T data in container.dataList)
        {
            if (!_collaction.ContainsKey(data.Name))
            {
                _collaction.Add(data.Name, data);
                _listOfAllNames.Add(data.Name);
            }
            else
            {
                LoggingManager.AddErrorToLog("Repeated static data element with id " + data.Name);
            }
        }
        LoggingManager.Log(typeof(T) + " Finish initialization");
        _initializationStatus = EnumInitializationStatus.initializated;
    }
コード例 #5
0
    public void StartInitialization()
    {
        _initializationStatus = EnumInitializationStatus.inProgress;

        //get game obgect by his tag, where must be all ui screens
        GameObject uiScreenContainer = GameObject.FindGameObjectWithTag(TagNames.TAG_UI_SCREEN_CONTAINER);

        if (uiScreenContainer == null)
        {
            LoggingManager.AddErrorToLog("Didn't found game object by tag " + TagNames.TAG_UI_SCREEN_CONTAINER);
            _initializationStatus = EnumInitializationStatus.initializationError;
            return;
        }

        Dictionary <EnumUIScreenID, string> screenList = GetScreenList();

        //add all screens to dictionary by his id
        _uiScreens = new Dictionary <EnumUIScreenID, IUIScreenController>();
        foreach (KeyValuePair <EnumUIScreenID, string> pair in screenList)
        {
            if (!_uiScreens.ContainsKey(pair.Key))
            {
                _uiScreens.Add(pair.Key, PrefabCreatorManager.Instance.InstanceComponent <IUIScreenController>(pair.Value, uiScreenContainer));
                _uiScreens[pair.Key].SetDefaulStartPosition();
            }
            else
            {
                LoggingManager.AddErrorToLog("Found repeat screen id " + pair.Key);
            }
        }

        StartCoroutine(CheckOfInitializateAllScreens());
    }
コード例 #6
0
    // set server time
    private void SetTimer(double value)
    {
        _serverTimer  = value;
        _startSession = DateTime.Now;

        StartCoroutine(LocalTimerTic());
        _initializationStatus = EnumInitializationStatus.initializated;
    }
コード例 #7
0
 private IEnumerator CheckOnAllInitializate()
 {
     while (_nextUIScreenTween == null || _currentUIScreenTween == null || _display == null)
     {
         yield return(null);
     }
     _initializationStatus = EnumInitializationStatus.initializated;
     yield break;
 }
コード例 #8
0
 private void Start()
 {
     IUIScreenNavigationController[] uiNavigationControllerArray = gameObject.GetComponentsInChildren <IUIScreenNavigationController>();
     for (int i = 0; i < uiNavigationControllerArray.Length; i++)
     {
         uiNavigationControllerArray[i].Source = gameObject;
     }
     AfterStart();
     _initializationStatus = EnumInitializationStatus.initializated;
 }
コード例 #9
0
 /// <summary>
 /// Add static data to initialization list, for initializat it
 /// </summary>
 public void StartInitialization()
 {
     _initializationStatus = EnumInitializationStatus.inProgress;
     _initializationData   = new List <Collection>();
     _initializationData.Add(new Collection(EnumStaticDataType.carriage));
     _initializationData.Add(new Collection(EnumStaticDataType.mission));
     _initializationData.Add(new Collection(EnumStaticDataType.railway));
     _initializationData.Add(new Collection(EnumStaticDataType.terminal));
     _initializationData.Add(new Collection(EnumStaticDataType.train));
     StartCoroutine(CheckOnInitialized());
 }
コード例 #10
0
    public void StartInitialization()
    {
        _initializationStatus = EnumInitializationStatus.inProgress;
        _container            = GameObject.FindGameObjectWithTag(TagNames.TAG_GAME_VIEW_CONTAINER);
        if (_container == null)
        {
            LoggingManager.AddErrorToLog("Didn't found game object by tag " + TagNames.TAG_GAME_VIEW_CONTAINER);
            _initializationStatus = EnumInitializationStatus.initializationError;
            return;
        }

        //creat prefab with train game view manager for view train
        _locomotiveViewManager = PrefabCreatorManager.Instance.InstanceComponent <LocomotiveViewManager>(PrefabsURL.LOCOMOTIVE_GAME_VIEW, _container, EnumPositioning.local, new Vector3(0, 0, 0));
        _locationViewManager   = PrefabCreatorManager.Instance.InstanceComponent <LocationViewManager>(PrefabsURL.LOCATION_GAME_VIEW, _container, EnumPositioning.local, new Vector3(0, 0, 10));

        _initializationStatus = EnumInitializationStatus.initializated;
    }
コード例 #11
0
    public void StartInitialization()
    {
        _initializationStatus = EnumInitializationStatus.inProgress;

        //get game obgect by his tag, where must be all ui screens
        GameObject uiMenuContainer = GameObject.FindGameObjectWithTag(TagNames.TAG_UI_MENU_CONTAINER);

        if (uiMenuContainer == null)
        {
            LoggingManager.AddErrorToLog("Didn't found game object by tag " + TagNames.TAG_UI_MENU_CONTAINER);
            _initializationStatus = EnumInitializationStatus.initializationError;
            return;
        }

        Dictionary <EnumUIMenuID, string> menuList = GetMenuList();

        //add all screens to dictionary by his id
        _uiMenus = new Dictionary <EnumUIMenuID, IUIMenuController>();
        foreach (KeyValuePair <EnumUIMenuID, string> pair in menuList)
        {
            if (!_uiMenus.ContainsKey(pair.Key))
            {
                _uiMenus.Add(pair.Key, PrefabCreatorManager.Instance.InstanceComponent <IUIMenuController>(pair.Value, uiMenuContainer));
            }
            else
            {
                LoggingManager.AddErrorToLog("Found repeat menu id " + pair.Key);
            }
        }

        //show menu wat should be add in start game
        for (int i = 0; i < MainInitializationProcess.Instance.ActivateMenu.Count; i++)
        {
            ShowMenu(MainInitializationProcess.Instance.ActivateMenu[i], null);
        }

        _initializationStatus = EnumInitializationStatus.initializated;
    }
コード例 #12
0
    //initializat all model step by step
    private IEnumerator CheckOnInitialization()
    {
        bool allInitializated = false;

        while (!allInitializated)
        {
            allInitializated = true;
            foreach (IInitilizationProcess initilizationClass in _initializationList)
            {
                if (!initilizationClass.allInitializated)
                {
                    allInitializated = false;
                    yield return(null);
                }
                if (initilizationClass.initializationStatus == EnumInitializationStatus.initializationError)
                {
                    yield break;
                }
            }
        }
        initializationStatus = EnumInitializationStatus.initializated;
        yield break;
    }
コード例 #13
0
    public void UpdateClassInitializationStatus(string localClassName, EnumInitializationStatus status)
    {
        return;

        //MB it wiil be halpful
        if (_isLoading == null)
        {
            return;
        }

        if (!_initializationProcess.ContainsKey(localClassName))
        {
            _initializationProcess.Add(localClassName, status);
            UpdateLoadingProgressView();
        }
        else
        {
            if (_initializationProcess[localClassName] != status)
            {
                _initializationProcess[localClassName] = status;
                UpdateLoadingProgressView();
            }
        }
    }
コード例 #14
0
 public void StartInitialization()
 {
     _initializationStatus = EnumInitializationStatus.inProgress;
 }
コード例 #15
0
 public void StartInitialization()
 {
     _initializationStatus = EnumInitializationStatus.inProgress;
     MainGameController.Instance.gamePlaywordTouchDispatcher += WordTouchListener;
     _initializationStatus = EnumInitializationStatus.initializated;
 }
コード例 #16
0
 public void StartInitialization()
 {
     //TODO send request to get server time
     _initializationStatus = EnumInitializationStatus.inProgress;
     SetTimer(TimeUtil.ConvertToTimestamp(DateTime.Now));
 }
コード例 #17
0
 public void StartInitialization()
 {
     _initializationStatus = EnumInitializationStatus.inProgress;
     StartCoroutine(CheckOnAllInitializate());
 }
コード例 #18
0
 public void StartInitialization()
 {
     _mainCamera           = Camera.main;
     _initializationStatus = EnumInitializationStatus.initializated;
 }
コード例 #19
0
 public void StartInitialization()
 {
     InputController.Instance.wordTouchDispatcher += InputReaction;
     _gameFlowState        = EnumGameFlowState.mainMenu;
     _initializationStatus = EnumInitializationStatus.initializated;
 }
コード例 #20
0
ファイル: GameModel.cs プロジェクト: zo2m47/ApocalipsisTrain
 public void StartInitialization()
 {
     _initializationStatus = EnumInitializationStatus.initializated;
 }