Пример #1
0
    /// <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);
    }
Пример #2
0
 /// <summary>
 /// 设置料理灶台
 /// </summary>
 /// <param name="stoveCpt"></param>
 public void SetStove(MiniGameCookingStoveCpt stoveCpt)
 {
     this.stoveCpt = stoveCpt;
     this.stoveCpt.SetMenuInfo(characterMiniGameData.GetCookingMenuInfo());
 }