IEnumerator LoadSync(System.Action callback) { GC(); if (CameraController.Instance != null) { CameraController.Instance.LookTarget = null; } yield return(Application.LoadLevelAsync(CurSceneName)); CurMapInfo = CSVManager.GetMapCfg(CurSceneName); if (CurMapInfo == null) { Log.Error("找不到地图配置 : " + CurSceneName); yield break; } //AStar.LoadPathInfo(CurMapInfo.pathInfo); char[] sp = { '*' }; string[] str = CurMapInfo.bornPos.Split(sp, System.StringSplitOptions.RemoveEmptyEntries); if (str.Length < 4) { Log.Error("检查Map.csv " + name); yield break; } float x = System.Convert.ToSingle(str[0]); float y = System.Convert.ToSingle(str[1]); float z = System.Convert.ToSingle(str[2]); float angle = System.Convert.ToSingle(str[3]); GameManager.MainPlayer = EntityManager.Instance.Get(10, 1, eCamp.Hero); GameManager.MainPlayer.UseAI = false; GameManager.MainPlayer.invincible = true; GameManager.MainPlayer.Pos = new Vector3(x, y, z); GameManager.MainPlayer.SetRot(angle); CameraController.Instance.LookTarget = GameManager.MainPlayer; if (callback != null) { callback(); } }