Esempio n. 1
0
    public override void OnExit(System.Action callback)
    {
        //캐릭터 정보도 다삭제
        var enumerator = townUnitList.GetEnumerator();

        while (enumerator.MoveNext())
        {
            Destroy(enumerator.Current.Value);
        }
        townUnitList.Clear();

        if (CameraManager.instance.mainCamera.gameObject.GetComponentInChildren <ColorCorrectionCurves> ())
        {
            CameraManager.instance.mainCamera.gameObject.GetComponentInChildren <ColorCorrectionCurves> ().enabled = false;
        }
        CameraManager.instance.mainCamera.clearFlags = CameraClearFlags.Skybox;

        //< 마을에서 사용했던 리소스들은 삭제
        AssetbundleLoader.ClearAssetList();
        SoundManager.instance.Clean();

        effectPool.SetDestroy();

        UIHelper.SetMainCameraActive(true);
        base.OnExit(callback);

        TownActive = false;

        //StructureMgr.instance.DemolishAll();
        //NetData.instance.VillageUnitDic.Clear();
    }
Esempio n. 2
0
    void OnLevelWasLoaded(int level)
    {
        if (Application.loadedLevelName != "maintown")
        {
            return;
        }

        System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch();
        sw.Start();
        long time1 = SceneManager.instance.showStopWatchTimer("MainTown scene loaded,  TownState.OnLevelWasLoaded start");

        ResourceMgr.Clear();

        bAddtiveSceneLoadFinish = false;

        NativeHelper.instance.DisableNavUI();

        TownActive = true;

        //< 인게임에서 사용했던 리소스들도 삭제
        AssetbundleLoader.ClearAssetList();
        SoundManager.instance.Clean();

        //< 맵 로드
        IsMapLoad = true;

        SceneSetting();

        SetupMainCamera(true, GAME_MODE.NONE);

        effectPool = PoolManager.Pools["Effect"];

        //CameraManager.instance.mainCamera.GetComponent<CameraMouseZoom>().SetInitPos();

        MapEnvironmentSetting(Application.loadedLevelName);         // move to here.

        sendQueryForHeroAndTown();

        // 여기서 컷씬플레이여부 비교판단 해야함.
//		if (NeedPlayTownCutScene ()) {
//			return;
//		}

        StartCoroutine(OnLevelWasLoaded2Part1());
        StartCoroutine(OnLevelWasLoaded2Part2());

        long time2 = SceneManager.instance.showStopWatchTimer("TownState.OnLevelWasLoaded end");

        Debug.Log("<color=green>[StopWatch]</color> OnLevelLoaded take time " + ((time2 - time1) / 1000f));
        sw.Stop();
    }