/// <summary> /// 通过游戏类型获取角色数据类型 /// </summary> /// <returns></returns> public MiniGameCharacterBean CreateMiniGameCharacterBeanByType() { MiniGameCharacterBean itemUserGameData = null; switch (gameType) { case MiniGameEnum.Barrage: itemUserGameData = new MiniGameCharacterForBarrageBean(); break; case MiniGameEnum.Combat: itemUserGameData = new MiniGameCharacterForCombatBean(); break; case MiniGameEnum.Cooking: itemUserGameData = new MiniGameCharacterForCookingBean(); break; case MiniGameEnum.Account: itemUserGameData = new MiniGameCharacterForAccountBean(); break; case MiniGameEnum.Debate: itemUserGameData = new MiniGameCharacterForDebateBean(); break; } return(itemUserGameData); }
public void SetData(NpcAIMiniGameCookingCpt itemNpc, int rank) { MiniGameCharacterForCookingBean characterGameData = itemNpc.characterMiniGameData; SetCharacter(characterGameData.characterData); SetName(characterGameData.characterData.baseInfo.name); SetScore(characterGameData.scoreForTheme, characterGameData.scoreForColor, characterGameData.scoreForSweet, characterGameData.scoreForTaste, characterGameData.scoreForTotal); SetRank(rank); //SetLevel(characterGameData.characterData.baseInfo.chefInfo.workerLevel); SetBackground(characterGameData.characterType); }
/// <summary> /// 获取迷你游戏故事的备用文本数据 /// </summary> /// <returns></returns> private SortedList <string, string> GetMiniGameMarkStrData(MiniGameBaseBean miniGameData) { SortedList <string, string> listData = new SortedList <string, string>(); //为所有友方角色称呼 和 姓名 string userCharacterList = ""; foreach (MiniGameCharacterBean itemCharacter in miniGameData.listUserGameData) { userCharacterList += (itemCharacter.characterData.baseInfo.titleName + "" + itemCharacter.characterData.baseInfo.name) + " "; } listData.Add(GameSubstitutionInfo.MiniGame_UserNameList, userCharacterList); //为所有敌方角色称呼 和 姓名 string enemyCharacterList = ""; foreach (MiniGameCharacterBean itemCharacter in miniGameData.listEnemyGameData) { enemyCharacterList += (itemCharacter.characterData.baseInfo.titleName + "" + itemCharacter.characterData.baseInfo.name) + " "; } listData.Add(GameSubstitutionInfo.MiniGame_EnemyNameList, enemyCharacterList); if (miniGameData.gameType == MiniGameEnum.Cooking) { MiniGameCookingBean gameCookingData = (MiniGameCookingBean)miniGameData; //所有评审人员角色姓名 string auditerCharaterList = ""; foreach (MiniGameCharacterBean itemCharacter in gameCookingData.listAuditerGameData) { auditerCharaterList += (itemCharacter.characterData.baseInfo.titleName + "" + itemCharacter.characterData.baseInfo.name) + " "; } listData.Add(GameSubstitutionInfo.MiniGame_Cooking_AuditerNameList, auditerCharaterList); //料理的主题 listData.Add(GameSubstitutionInfo.MiniGame_Cooking_Theme, gameCookingData.GetCookingTheme().name); //所有友方角色 foreach (MiniGameCharacterBean itemCharacter in gameCookingData.listUserGameData) { MiniGameCharacterForCookingBean cookingCharacterData = (MiniGameCharacterForCookingBean)itemCharacter; if (cookingCharacterData.GetCookingMenuInfo() != null) { listData.Add(GameSubstitutionInfo.MiniGame_Cooking_UserFoodName, cookingCharacterData.GetCookingMenuInfo().name); } } } return(listData); }
public void UIMiniGameCookingSettlementClose() { //打开游戏控制器 BaseControl baseControl = GameControlHandler.Instance.StartControl <ControlForMiniGameCookingCpt>(GameControlHandler.ControlEnum.MiniGameCooking); baseControl.SetCameraFollowObj(miniGameBuilder.GetUserCharacter().gameObject); //如果是晋升则按照分数计算是否胜利 if (miniGameData.gameReason == MiniGameReasonEnum.Improve) { MiniGameCharacterForCookingBean characterMiniGameData = (MiniGameCharacterForCookingBean)miniGameData.GetUserGameData(); if (characterMiniGameData.scoreForTotal >= miniGameData.winScore) { EndGame(MiniGameResultEnum.Win, false); } else { EndGame(MiniGameResultEnum.Lose, false); } } //如果是其他 则按名次 else { List <MiniGameCharacterBean> listCharacterGameData = miniGameData.GetPlayerGameData(); //按分数排名 listCharacterGameData = listCharacterGameData.OrderByDescending(item => ((MiniGameCharacterForCookingBean)item).scoreForTotal).ToList(); for (int i = 0; i < miniGameData.winRank; i++) { MiniGameCharacterForCookingBean characterData = (MiniGameCharacterForCookingBean)listCharacterGameData[i]; if (characterData.characterType == 1) { EndGame(MiniGameResultEnum.Win, false); return; } } EndGame(MiniGameResultEnum.Lose, false); } }
/// <summary> /// 设置NPC数据 /// </summary> /// <param name="characterMiniGameData"></param> public void SetData(MiniGameCharacterForCookingBean characterMiniGameData) { this.characterMiniGameData = characterMiniGameData; SetCharacterData(characterMiniGameData.characterData); }