Exemplo n.º 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);
    }
Exemplo n.º 2
0
    /// <summary>
    /// 呈上某人的作品
    /// </summary>
    /// <param name="miniGameCharacterData"></param>
    public void PresentFoodForAudit(NpcAIMiniGameCookingCpt npc)
    {
        //获取所有评审
        List <NpcAIMiniGameCookingCpt> listAuditer = miniGameBuilder.GetCharacterByType(NpcAIMiniGameCookingCpt.MiniGameCookingNpcTypeEnum.Auditer);

        foreach (NpcAIMiniGameCookingCpt itemAuditer in listAuditer)
        {
            //复制食物给所有评审
            MiniGameCookingAuditTableCpt auditTableCpt = itemAuditer.auditTableCpt;
            GameObject objFoodForCover = Instantiate(auditTableCpt.objFoodPosition, npc.foodForCover.gameObject);
            objFoodForCover.transform.localPosition = Vector3.zero;
            objFoodForCover.transform.localScale    = new Vector3(1, 1, 1);
            itemAuditer.foodForCover   = objFoodForCover.GetComponent <FoodForCoverCpt>();
            itemAuditer.auditTargetNpc = npc;
        }
        //隐藏自己手上的食物
        npc.foodForCover.gameObject.SetActive(false);
    }
Exemplo n.º 3
0
 /// <summary>
 /// 设置评审桌子
 /// </summary>
 /// <param name="auditTableCpt"></param>
 public void SetAuditTable(MiniGameCookingAuditTableCpt auditTableCpt)
 {
     this.auditTableCpt = auditTableCpt;
 }