Beispiel #1
0
    public int  OnFin()
    {
#if !MC_THREADING
        if (_reqList.Count > 0 && !Pause)
        {
            Exec();
        }
#endif
        if (_errCnt > 0)
        {
            if (_reqFinishedList.Count == 0)
            {
                SurfExtractorsMan.SwitchToVxCpu(_reqInProcessList, _reqList);
                CleanUp();
                return(0);
            }
        }

        if (_reqFinishedList.Count == 0)
        {
            if (bNeedUpdateTrans)
            {
                if (VFVoxelTerrain.self != null && VFVoxelTerrain.self.TransGoCreator.IsTransvoxelEnabled)
                {
                    if (VFVoxelTerrain.self.TransGoCreator.PrepChunkList())
                    {
                        bNeedUpdateTrans = false;
                    }
                }
            }
            return(0);
        }
        if (Monitor.TryEnter(_reqFinishedList))
        {
            int num  = MaxReqsToProceedOnce;
            int cnt  = 0;
            int nReq = _reqFinishedList.Count;
            for (int i = 0; i < nReq; i++)
            {
                cnt++;
                if (_reqFinishedList[i].OnReqFinished() && --num == 0)
                {
                    break;
                }
            }
            _reqFinishedList.RemoveRange(0, cnt);
            Monitor.Exit(_reqFinishedList);
        }

        bNeedUpdateTrans = true;
        return(_reqFinishedList.Count);
    }
    // Cons & Des
    void Awake()
    {
        string gfxName = SystemInfo.graphicsDeviceName;
        string cpuName = SystemInfo.processorType;

        Debug.Log("[processorType]:" + cpuName);
        Debug.Log("[graphicsDeviceName]:" + gfxName);
        if (gfxName.Contains("Intel"))
        {
            if (gfxName.Contains("HD"))                 // No include Iris
            {
                BadGfxDeviceName = gfxName;
            }
        }
        else if (gfxName.Contains("Radeon"))
        {
            if (cpuName.Contains("APU"))
            {
                if (cpuName.Contains("HD") && gfxName.Contains("HD"))
                {
                    BadGfxDeviceName = gfxName;
                }
                else                    // Check Rx graphics
                {
                    string rx  = "Rx Graphics";
                    string sub = cpuName.Substring(cpuName.Length - rx.Length);
                    if (gfxName.Contains(sub))
                    {
                        BadGfxDeviceName = gfxName;
                    }
                }
            }
        }

        DontDestroyOnLoad(this.gameObject);

        LocalDatabase.LoadAllData();
        SystemSettingData.Instance.LoadSystemData();

        SurfExtractorsMan.CheckGenSurfExtractor();

        PeLogicGlobal.Instance.Init();
        PeCamera.Init();

        StartCoroutine(Behave.Runtime.BTResolver.ApplyCacheBt());
    }
 // Use this for initialization
 void Awake()
 {
     LocalDatabase.LoadAllData();
     SurfExtractorsMan.CheckGenSurfExtractor();
 }
 void OnDestroy()
 {
     SurfExtractorsMan.CleanUp();
     LocalDatabase.FreeAllData();
 }
 // Update is called once per frame
 void LateUpdate()
 {
     SurfExtractorsMan.PostProc();
 }
 void OnApplicationQuit()
 {
     SurfExtractorsMan.CleanUp();
     LocalDatabase.FreeAllData();
     SystemSettingData.Save();
 }
 void LateUpdate()
 {
     PeCamera.Update();
     currentSceneName = Application.loadedLevelName;
     SurfExtractorsMan.PostProc();
 }