/// <summary> /// 初始化角色位置 /// </summary> public virtual ControlForMoveCpt InitUserPosition() { //开始角色控制 ControlForMoveCpt moveControl = GameControlHandler.Instance.StartControl <ControlForMoveCpt>(GameControlHandler.ControlEnum.Normal); return(moveControl); }
public override void Start() { base.Start(); GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData(); //初始化场景 SceneInnManager sceneInnManager = GameScenesHandler.Instance.manager.GetSceneManager <SceneInnManager>(); InnBuildBean innBuildData = gameData.GetInnBuildData(); sceneInnManager.InitScene(innBuildData.innWidth, innBuildData.innHeight); //innBuildData.ChangeInnSize(2, innBuildManager, 9, 9); //构建地板 InnBuildHandler.Instance.builderForFloor.StartBuild(); //构建墙壁 InnBuildHandler.Instance.builderForWall.StartBuild(); //构建建筑 InnBuildHandler.Instance.builderForFurniture.StartBuild(); //初始化客栈处理 InnHandler.Instance.InitInn(); InnHandler.Instance.InitRecord(); //其他场景切过来需要重置一下客栈数据 InnHandler.Instance.CloseInn(); //设置天气 GameWeatherHandler.Instance.SetWeather(GameCommonInfo.CurrentDayData.weatherToday); //打开UI UIHandler.Instance.manager.OpenUI <UIGameMain>(UIEnum.GameMain); //增加回调 GameTimeHandler.Instance.RegisterNotifyForTime(NotifyForTime); TimeBean timeData = gameData.gameTime; if (timeData.hour >= 24 || timeData.hour < 6 || GameTimeHandler.Instance.GetDayStatus() == GameTimeHandler.DayEnum.End) { //如果是需要切换第二天 EndDay(); } else { //如果是其他场景切换过来 GameTimeHandler.Instance.SetTime(timeData.hour, timeData.minute); GameTimeHandler.Instance.SetTimeStatus(false); //建造NPC RefreshScene(); //设置位置 Vector3 startPosition = sceneInnManager.GetTownEntranceLeft(); ControlForMoveCpt baseControl = GameControlHandler.Instance.StartControl <ControlForMoveCpt>(GameControlHandler.ControlEnum.Normal); baseControl.SetFollowPosition(startPosition); } //改变四季 GameSeasonsHandler.Instance.ChangeSeasons(); StartCoroutine(BuildNavMesh()); }
public override ControlForMoveCpt InitUserPosition() { ControlForMoveCpt moveControl = base.InitUserPosition(); SceneMountainManager sceneMountainManager = GameScenesHandler.Instance.manager.GetSceneManager <SceneMountainManager>(); //位置控制 switch (GameCommonInfo.ScenesChangeData.beforeScene) { case ScenesEnum.GameTownScene: moveControl.SetPosition(sceneMountainManager.GetExitDoor()); break; case ScenesEnum.GameInfiniteTowersScene: Vector3 doorPosition = sceneMountainManager.GetInfiniteTowersStairs(); moveControl.SetPosition(doorPosition); break; } return(moveControl); }