Пример #1
0
    /// <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);
    }
Пример #2
0
    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);
    }
Пример #3
0
    /// <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);
    }
Пример #4
0
    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);
        }
    }
Пример #5
0
 /// <summary>
 /// 设置NPC数据
 /// </summary>
 /// <param name="characterMiniGameData"></param>
 public void SetData(MiniGameCharacterForCookingBean characterMiniGameData)
 {
     this.characterMiniGameData = characterMiniGameData;
     SetCharacterData(characterMiniGameData.characterData);
 }