Exemplo n.º 1
0
        public void Language()
        {
            Console.WriteLine(LanguageType.Korean);
            var opt = CommandLineOptions.Load(Path.Combine(jsonFixturePath, "clo_language.json"));

            Assert.AreEqual(LanguageType.Korean, LanguageTypeMapper.ISO396(opt.Language));
        }
Exemplo n.º 2
0
        private IEnumerator Start()
        {
#if UNITY_EDITOR
            if (useSystemLanguage)
            {
                yield return(L10nManager.Initialize().ToYieldInstruction());
            }
            else
            {
                yield return(L10nManager.Initialize(languageType).ToYieldInstruction());
            }
#else
            yield return(L10nManager.Initialize(LanguageTypeMapper.ISO396(_options.Language)).ToYieldInstruction());
#endif

            // UI 초기화 1차.
            MainCanvas.instance.InitializeFirst();
            yield return(Addressables.InitializeAsync());

            yield return(StartCoroutine(CoInitializeTableSheets()));

            AudioController.instance.Initialize();
            yield return(null);

            // Agent 초기화.
            // Agent를 초기화하기 전에 반드시 Table과 TableSheets를 초기화 함.
            // Agent가 Table과 TableSheets에 약한 의존성을 갖고 있음.(Deserialize 단계 때문)
            var agentInitialized       = false;
            var agentInitializeSucceed = false;
            yield return(StartCoroutine(
                             CoLogin(
                                 succeed =>
            {
                Debug.Log($"Agent initialized. {succeed}");
                agentInitialized = true;
                agentInitializeSucceed = succeed;
            }
                                 )
                             ));

            yield return(new WaitUntil(() => agentInitialized));

            // NOTE: Create ActionManager after Agent initialized.
            ActionManager = new ActionManager(Agent);
            yield return(StartCoroutine(CoSyncTableSheets()));

            // UI 초기화 2차.
            yield return(StartCoroutine(MainCanvas.instance.InitializeSecond()));

            Stage.Initialize();

            Observable.EveryUpdate()
            .Where(_ => Input.GetMouseButtonUp(0))
            .Select(_ => Input.mousePosition)
            .Subscribe(PlayMouseOnClickVFX)
            .AddTo(gameObject);


            Widget.Find <VersionInfo>().SetVersion(Agent.AppProtocolVersion);

            ShowNext(agentInitializeSucceed);
        }