/// <summary> /// 初始化游戏 /// </summary> /// <param name="miniGameData"></param> public override void InitGame(MiniGameCookingBean miniGameData) { base.InitGame(miniGameData); miniGameBuilder.CreateAllCharacter( miniGameData.listUserGameData, miniGameData.userStartPosition, miniGameData.listEnemyGameData, miniGameData.listEnemyStartPosition, miniGameData.listAuditerGameData, miniGameData.listAuditerStartPosition, miniGameData.listCompereGameData, miniGameData.listCompereStartPosition); //设置主题 if (miniGameData.cookingThemeLevel != 0) { miniGameData.SetCookingThemeByLevel(miniGameData.cookingThemeLevel); } if (miniGameData.cookingThemeId != 0) { miniGameData.SetCookingThemeById(miniGameData.cookingThemeId); } //初始化摄像头位置 InitCameraPosition(); //设置通告板内容 List <MiniGameCookingCallBoardCpt> listCallBoard = miniGameBuilder.GetListCallBoard(); foreach (MiniGameCookingCallBoardCpt itemCpt in listCallBoard) { itemCpt.SetCallBoardContent(miniGameData.GetCookingTheme().name); } //给评审人员分配桌子 List <MiniGameCookingAuditTableCpt> listAuditTable = miniGameBuilder.GetListAuditTable(); List <NpcAIMiniGameCookingCpt> listAuditNpcAI = miniGameBuilder.GetCharacterByType(NpcAIMiniGameCookingCpt.MiniGameCookingNpcTypeEnum.Auditer); for (int i = 0; i < listAuditNpcAI.Count; i++) { NpcAIMiniGameCookingCpt itemNpc = listAuditNpcAI[i]; MiniGameCookingAuditTableCpt itemTable = listAuditTable[i]; itemNpc.SetAuditTable(itemTable); } //参赛选手相关设定 List <MiniGameCookingStoveCpt> listStove = miniGameBuilder.GetListStove(); List <NpcAIMiniGameCookingCpt> listPlayerNpcAI = miniGameBuilder.GetCharacterByType(NpcAIMiniGameCookingCpt.MiniGameCookingNpcTypeEnum.Player); for (int i = 0; i < listPlayerNpcAI.Count; i++) { //如果没有给定敌方角色的菜品 那就随机给参赛的敌方角色设置菜品 NpcAIMiniGameCookingCpt itemNpc = listPlayerNpcAI[i]; if (itemNpc.characterMiniGameData.GetCookingMenuInfo() == null && itemNpc.characterMiniGameData.characterType == 0) { MenuInfoBean menuInfo = InnFoodHandler.Instance.manager.GetRandomFoodDataByCookingTheme(miniGameData.GetCookingTheme()); itemNpc.characterMiniGameData.SetCookingMenuInfo(menuInfo); } //给参赛选手分配灶台 MiniGameCookingStoveCpt itemTable = listStove[i]; itemNpc.SetStove(itemTable); } //打开倒计时UI OpenCountDownUI(miniGameData, false); }
/// <summary> /// 设置料理灶台 /// </summary> /// <param name="stoveCpt"></param> public void SetStove(MiniGameCookingStoveCpt stoveCpt) { this.stoveCpt = stoveCpt; this.stoveCpt.SetMenuInfo(characterMiniGameData.GetCookingMenuInfo()); }