// Use this for initialization async void Start() { if (RuntimeDataSimulate && runtime == null) { //测试存档位 var r = GameRuntimeData.CreateNew(); //选一个没有用过的id MapRuntimeData.Instance.Clear(); } var brain = Camera.main.GetComponent <CinemachineBrain>(); if (brain != null) { brain.m_DefaultBlend = new CinemachineBlendDefinition(CinemachineBlendDefinition.Style.Cut, 0); } //m_BattleHelper = GetComponent<BattleHelper>(); //m_MobileRotateSlider.SetActive(Application.isMobilePlatform); //播放音乐 var gameMap = GetCurrentGameMap(); if (gameMap != null) { if (gameMap.Tags.Contains("WORLDMAP"))//JYX2 临时测试 { var btn = transform.Find("UI/MainUI/BackButton"); if (btn != null) { btn.gameObject.SetActive(false); } } //播放音乐 PlayMusic(gameMap); if (gameMap.Tags.Contains("BIGMAP")) { m_CurrentType = MapType.BigMap; } else { //显示当前地图名,大地图不用显示 //StoryEngine.Instance.middleTopMessageSuggestPanel.Show(gameMap.GetShowName()); Jyx2_UIManager.Instance.ShowUI("CommonTipsUIPanel", TipsType.MiddleTop, gameMap.GetShowName()); } if (string.IsNullOrEmpty(runtime.CurrentMap)) { runtime.CurrentMap = gameMap.Key; } } //搜索地图中所有MapRole,并绑定数据实例 //foreach (var r in FindAllMapRole()) //{ // if (string.IsNullOrEmpty(r.m_RoleKey)) // continue; // if (r.DataInstance == null) r.CreateRoleInstance(r.m_RoleKey); // if (!r.gameObject.activeInHierarchy) r.m_IsWaitingForActive = false; // r.RefreshModel(); //} navPointer = Instantiate(navPointerPrefab); navPointer.SetActive(false); //刷新界面控制器 UpdateMobileControllerUI(); GraphicSetting.GlobalSetting.Execute(); //尝试绑定主角 TryBindPlayer(); //刷新游戏事件 RefreshGameEvents(); }
async private void Start() { await BeforeSceneLoad.loadFinishTask; if (GameRuntimeData.Instance == null) { GameRuntimeData.CreateNew(); } //设置所有的宝箱 foreach (var chest in GameObject.FindObjectsOfType <MapChest>()) { chest.Init(); } //设置所有的场景变更 RefreshSceneObjects(); //if (m_RuntimeDataSimulate && GameRuntimeData.Instance == null) //{ // var runtime = GameRuntimeData.CreateNew(); // var playerRoleView = RoleHelper.FindPlayer(); // playerRoleView.BindRoleInstance(runtime.Player); // //测试队友 // //foreach (var teammate in m_TestTeammate) // //{ // // var role = RoleHelper.CreateRoleInstance(teammate); // // runtime.Team.Add(role); // // MapRuntimeData.Instance.AddToExploreTeam(role); // //} // //随机增加物品 // //for(int i = 0; i < 5; ++i) // //{ // // runtime.AddItem(UnityEngine.Random.Range(0, 197), UnityEngine.Random.Range(1, 10)); // //} // //测试物品 // //List<string> itemList = new List<string>() { // // "皮甲", "皮手套", "生锈的宝剑", "凤凰琴", "桃花华裳", "杨家宝刀", // // "杨家宝甲", "林冲虎啸枪", "摇光", "摇光剑", "摇光枪", "摇光拳套", // // "寒铁宝甲", "老成皮甲", "名剑白虹", "昆吾神剑", "青莲古衣", "道济古帽", // // "道济葫芦", "朔雪头冠", "朔雪飞靴", "大内金靴", "大内头冠", "星移长衣", // // "星移斗笠", "香神链", "蔓陀长靴", "蔓陀束带", "飞流饰带", "四象饰带", // // "吟龙带", "吟龙履", "南山守则", "阴阳幡", "天道束腰", "任侠环" // //}; // //foreach (var item in itemList) // //{ // // runtime.AddItem(ItemInstance.Generate(item, true)); // //} // //探索技能值 // //MapRuntimeData.Instance.ExploreSkillPoint = 100; //} //场景准备完成 显示主界面 Jyx2_UIManager.Instance.ShowMainUI(); }
//void OnTest() //{ // m_Roles = new List<BattlePosRole>(); // m_Roles.Add(new BattlePosRole() { pos = "1", team = 0, roleKey = "0" }); // m_Roles.Add(new BattlePosRole() { pos = "2", team = 1, roleKey = "1" }); // m_Roles.Add(new BattlePosRole() { pos = "1", team = 1, roleKey = "3" }); // m_Roles.Add(new BattlePosRole() { pos = "1", team = 1, roleKey = "4" }); // m_Roles.Add(new BattlePosRole() { pos = "2", team = 0, roleKey = "5" }); // m_Roles.Add(new BattlePosRole() { pos = "2", team = 0, roleKey = "51" }); // GameRuntimeData.CreateNew(); //选一个没有用过的id // MapRuntimeData.Instance.Clear(); // //测试等级 // runtime.TeamLevel = 10; // InitBattle(null); //} void LoadJyx2Battle(int id, Action <BattleResult> callback) { Debug.Log("-----------BattleLoader.LoadJyx2Battle"); if (GameRuntimeData.Instance == null) { GameRuntimeData.CreateNew(); } #if JYX2_TEST //临时用于测试 var player = runtime.Team[0]; player.MaxHp = 999; player.MaxMp = 999; player.Zuoyouhubo = 1; player.Qinggong = 100; player.Attack = 50; player.Recover(); runtime.AddItem(3, 100);//小还丹 #endif m_Roles = new List <BattlePosRole>(); Jyx2Battle battle = ConfigTable.Get <Jyx2Battle>(id); if (battle == null) { Debug.LogError("载入了未定义的战斗,id=" + id); return; } AudioManager.PlayMusic(battle.Music); //设置了自动战斗人物 if (battle.HasAutoTeamMates()) { foreach (var v in battle.AutoTeamMates) { var roleId = v.Value; if (roleId == -1) { continue; } AddRole(roleId, 0); //TODO IS AUTO } LoadJyx2BattleStep2(battle, null, callback); } else //否则让玩家选择 { //必选人物 Func <RoleInstance, bool> mustRoleFunc = (r) => { return(battle.TeamMates.Exists(t => t.Value.ToString() == r.Key)); }; //弹出选择人物面板 //Jyx2RoleSelector.Create(runtime.Team, mustRoleFunc, (selectRoles) => { // LoadJyx2BattleStep2(battle, selectRoles, callback); //}); SelectRoleParams selectPram = new SelectRoleParams(); selectPram.roleList = runtime.Team; selectPram.mustSelect = mustRoleFunc; selectPram.title = "选择上场角色"; selectPram.maxCount = 5;//TODO 最大上场人数 selectPram.canCancel = false; selectPram.callback = (cb) => { LoadJyx2BattleStep2(battle, cb.selectList, callback); }; Jyx2_UIManager.Instance.ShowUI("SelectRolePanel", selectPram); } }