Exemple #1
0
    public override void IntentForLeave()
    {
        //添加好感
        if (orderForCustomer != null)
        {
            PraiseTypeEnum praiseType = orderForCustomer.innEvaluation.GetPraise();
            if (praiseType == PraiseTypeEnum.Excited || praiseType == PraiseTypeEnum.Happy)
            {
                int AddFavorability = 0;
                if (praiseType == PraiseTypeEnum.Excited)
                {
                    AddFavorability = 1;
                }
                else if (praiseType == PraiseTypeEnum.Happy)
                {
                }
                characterFavorabilityData.AddFavorability(AddFavorability);
                //弹出喜爱图标
                if (AddFavorability > 0)
                {
                    SetExpression(CharacterExpressionCpt.CharacterExpressionEnum.Love, 10);
                }
            }
        }
        base.IntentForLeave();

        orderForCustomer = new OrderForCustomer(CustomerTypeEnum.Friend, this);
    }
Exemple #2
0
    /// <summary>
    ///  分配厨师做饭
    /// </summary>
    public bool SetChefForCook(OrderForCustomer orderForCustomer, NpcAIWorkerCpt chefCpt)
    {
        BuildStoveCpt stoveCpt = null;

        if (chefCpt == null)
        {
            return(false);
        }
        for (int i = 0; i < listStoveCpt.Count; i++)
        {
            BuildStoveCpt itemStove = listStoveCpt[i];
            //检测是否能到达烹饪点
            if (itemStove.stoveStatus == BuildStoveCpt.StoveStatusEnum.Idle && CheckUtil.CheckPath(chefCpt.transform.position, itemStove.GetCookPosition()))
            {
                stoveCpt = itemStove;
                break;
            }
        }
        if (chefCpt != null && stoveCpt != null)
        {
            orderForCustomer.stove = stoveCpt;
            orderForCustomer.stove.SetStoveStatus(BuildStoveCpt.StoveStatusEnum.Ready);
            orderForCustomer.chef = chefCpt;
            chefCpt.SetIntent(NpcAIWorkerCpt.WorkerIntentEnum.Cook, orderForCustomer);
            return(true);
        }
        else
        {
            return(false);
        }
    }
    /// <summary>
    /// 展示客户数据
    /// </summary>
    public void ShowCustomerFoodData()
    {
        if (targetNpcAIForCustomerFood == null)
        {
            return;
        }
        OrderForCustomer orderForCustomer = targetNpcAIForCustomerFood.GetOrderForCustomer();

        if (orderForCustomer != null)
        {
            if (orderForCustomer.table)
            {
                objMood.SetActive(true);
            }
            if (targetNpcAIForCustomerFood.customerIntent == NpcAICustomerCpt.CustomerIntentEnum.Leave)
            {
                objFunction.SetActive(false);
                btExpel.gameObject.SetActive(false);
            }
            else
            {
                objFunction.SetActive(true);
                btExpel.gameObject.SetActive(true);
            }
        }
    }
Exemple #4
0
 /// <summary>
 /// 意图-前往餐桌
 /// </summary>
 /// <param name="buildTableCpt"></param>
 public void IntentForGoToSeat(OrderForCustomer orderForCustomer)
 {
     //停止等待
     if (gameObject == null)
     {
         return;
     }
     StopAllCoroutines();
     this.orderForCustomer = orderForCustomer;
     //判断路径是否有效
     if (CheckUtil.CheckPath(transform.position, orderForCustomer.table.GetSeatPosition()))
     {
         //开启满意度
         characterMoodCpt.SetMood(orderForCustomer.innEvaluation.GetPraise());
         //前往桌子
         movePosition = orderForCustomer.table.GetSeatPosition();
         characterMoveCpt.SetDestination(movePosition);
         //记录该顾客
         InnHandler.Instance.RecordCustomer(orderForCustomer);
     }
     else
     {
         SetMood(30);
         EndOrderAndLeave();
     }
 }
Exemple #5
0
    /// <summary>
    /// 创建一个订单
    /// </summary>
    /// <param name="npc"></param>
    /// <returns></returns>
    public OrderForCustomer CreateOrder(NpcAICustomerCpt npc)
    {
        OrderForCustomer order = new OrderForCustomer(npc.customerType, npc);

        npc.SetOrderForCustomer(order);
        listOrder.Add(order);
        return(order);
    }
 /// <summary>
 /// 设置做菜
 /// </summary>
 /// <param name="orderForCustomer"></param>
 public void StartCook(OrderForCustomer orderForCustomer)
 {
     if (orderForCustomer == null)
     {
         return;
     }
     SetIntent(ChefIntentEnum.GoToCook, orderForCustomer);
 }
Exemple #7
0
    /// <summary>
    /// 关闭客栈
    /// </summary>
    public void CloseInn()
    {
        AudioHandler.Instance.StopMusic();
        innStatus = InnStatusEnum.Close;

        //删除所有顾客
        //驱除所有顾客
        NpcHandler.Instance.builderForCustomer.ClearNpc();
        //清理事件NPC
        NpcHandler.Instance.builderForEvent.ClearNpc();
        //清理家族NPC
        NpcHandler.Instance.builderForFamily.ClearNpc();

        for (int i = 0; i < listOrder.Count; i++)
        {
            OrderForBase orderForBase = listOrder[i];
            if (orderForBase as OrderForCustomer != null)
            {
                OrderForCustomer orderCusomer = orderForBase as OrderForCustomer;
                //清理所有食物
                if (orderCusomer.foodCpt != null && orderCusomer.foodCpt.gameObject != null)
                {
                    Destroy(orderCusomer.foodCpt.gameObject);
                }
            }
        }
        //清理所有桌子
        innTableHandler.CleanAllTable();
        //清理所有柜台
        innPayHandler.CleanAllCounter();
        //清理所有灶台
        innCookHandler.CleanAllStove();
        //清理所有的床
        innHotelHandler.CleanAllBed();

        //结束所有拉人活动
        //结束所有引路活动
        for (int i = 0; i < NpcHandler.Instance.builderForWorker.listNpcWorker.Count; i++)
        {
            NpcAIWorkerCpt itemWorker = NpcHandler.Instance.builderForWorker.listNpcWorker[i];
            if (itemWorker != null && itemWorker.aiForAccost.npcAICustomer != null)
            {
                itemWorker.aiForAccost.npcAICustomer.SetIntent(NpcAICustomerCpt.CustomerIntentEnum.Leave);
            }
        }

        NpcHandler.Instance.builderForWorker.ClearAllWork();

        rascalrQueue.Clear();
        cusomerQueue.Clear();
        foodQueue.Clear();
        sendQueue.Clear();
        cleanQueue.Clear();
        listOrder.Clear();

        hotelQueue.Clear();
        bedCleanQueue.Clear();
    }
Exemple #8
0
 /// <summary>
 /// 意图-送餐
 /// </summary>
 /// <param name="orderForCustomer"></param>
 public void SetIntentForSendFood(OrderForCustomer orderForCustomer)
 {
     sendPro.SetActive(true);
     npcAIWorker.SetTake(orderForCustomer.foodCpt.gameObject);
     orderForCustomer.foodCpt.transform.DOLocalMove(Vector3.zero, 0.2f);
     //orderForCustomer.foodCpt.transform.localPosition = Vector3.zero;
     movePosition = orderForCustomer.table.GetTablePosition();
     npcAIWorker.characterMoveCpt.SetDestination(movePosition);
 }
Exemple #9
0
    /// <summary>
    /// 意图-排队就餐
    /// </summary>
    public virtual void IntentForWaitSeat()
    {
        //加入排队队伍
        //添加一个订单
        OrderForCustomer orderForCustomer = InnHandler.Instance.CreateOrder(this);

        InnHandler.Instance.cusomerQueue.Add(orderForCustomer);
        StartCoroutine(CoroutineForStartWaitSeat());
    }
Exemple #10
0
 /// <summary>
 /// 设置清理食物
 /// </summary>
 /// <returns></returns>
 public bool SetCleanFood(OrderForCustomer orderForCustomer, NpcAIWorkerCpt waiterCpt)
 {
     if (waiterCpt != null)
     {
         waiterCpt.SetIntent(NpcAIWorkerCpt.WorkerIntentEnum.WaiterClean, orderForCustomer);
         return(true);
     }
     return(false);
 }
Exemple #11
0
 /// <summary>
 /// 点餐
 /// </summary>
 /// <param name="orderForCustomer"></param>
 /// <param name="menuOwn"></param>
 /// <returns></returns>
 public MenuInfoBean OrderForFood(OrderForCustomer orderForCustomer, MenuOwnBean menuOwn)
 {
     //食物数据库里有这个数据
     if (menuOwn == null)
     {
         return(null);
     }
     return(OrderForFood(orderForCustomer, menuOwn.menuId));
 }
Exemple #12
0
    /// <summary>
    /// 设置意图
    /// </summary>
    /// <param name="workerIntent"></param>
    /// <param name="orderForCustomer"></param>
    /// <param name="npcAIRascal"></param>
    public void SetIntent(WorkerIntentEnum workerIntent, OrderForCustomer orderForCustomer, NpcAIRascalCpt npcAIRascal, OrderForHotel orderForHotel)
    {
        StopAllCoroutines();
        RemoveStatusIconByType(CharacterStatusIconEnum.Pro);
        this.workerIntent = workerIntent;
        switch (workerIntent)
        {
        case WorkerIntentEnum.Idle:
            SetIntentForIdle();
            break;

        case WorkerIntentEnum.Daze:
            SetIntentForDaze();
            break;

        case WorkerIntentEnum.Cook:
            SetIntentForCook(orderForCustomer);
            break;

        case WorkerIntentEnum.WaiterSend:
            SetIntentForWaiterSend(orderForCustomer);
            break;

        case WorkerIntentEnum.WaiterClean:
            SetIntentForWaiterCleanTable(orderForCustomer);
            break;

        case WorkerIntentEnum.WaiterBed:
            SetIntentForWaiterCleanBed(orderForHotel);
            break;

        case WorkerIntentEnum.Accounting:
            if (orderForCustomer != null)
            {
                SetIntentForAccounting(orderForCustomer);
            }
            else if (orderForHotel != null)
            {
                SetIntentForAccounting(orderForHotel);
            }
            break;

        case WorkerIntentEnum.AccostSolicit:
            SetIntentForAccostSolicit();
            break;

        case WorkerIntentEnum.AccostGuide:
            SetIntentForAccostGuide(orderForHotel);
            break;

        case WorkerIntentEnum.Beater:
            SetIntentForBeater(npcAIRascal);
            break;
        }
        NotifyAllObserver((int)WorkerNotifyEnum.StatusChange, (int)workerIntent);
    }
Exemple #13
0
 /// <summary>
 /// 尝试结束订单
 /// </summary>
 /// <param name="orderForCustomer"></param>
 public void EndOrder(OrderForCustomer orderForCustomer)
 {
     //食物已被清理
     if (orderForCustomer.foodCpt == null
         //顾客已经离开
         && listOrder.Contains(orderForCustomer))
     {
         listOrder.Remove(orderForCustomer);
     }
 }
Exemple #14
0
    public void SetIntent(CustomerIntentEnum intent, OrderForCustomer orderForCustomer)
    {
        //删除进度图标
        RemoveStatusIconByType(CharacterStatusIconEnum.Pro);
        //停止所有进程
        if (this)
        {
            StopAllCoroutines();
        }
        this.customerIntent = intent;
        switch (customerIntent)
        {
        case CustomerIntentEnum.Walk:
            IntentForWalk();
            break;

        case CustomerIntentEnum.Want:
            IntentForWant();
            break;

        case CustomerIntentEnum.WaitSeat:
            IntentForWaitSeat();
            break;

        case CustomerIntentEnum.GotoSeat:
            IntentForGoToSeat(orderForCustomer);
            break;

        case CustomerIntentEnum.WaitFood:
            IntentForWaitFood();
            break;

        case CustomerIntentEnum.Eatting:
            IntentForEatting();
            break;

        case CustomerIntentEnum.GotoPay:
            IntentForGotoPay();
            break;

        case CustomerIntentEnum.WaitPay:
            IntentForWaitPay();
            break;

        case CustomerIntentEnum.Leave:
            IntentForLeave();
            break;

        case CustomerIntentEnum.WaitAccost:
            IntentForWaitAccost();
            break;
        }
        NotifyAllObserver((int)CustomerNotifyEnum.StatusChange, (int)intent);
    }
Exemple #15
0
    /// <summary>
    /// 意图-排队就餐
    /// </summary>
    public override void IntentForWaitSeat()
    {
        //加入排队队伍
        //添加一个订单
        OrderForCustomer orderForCustomer = InnHandler.Instance.CreateOrder(this);

        InnHandler.Instance.cusomerQueue.Add(orderForCustomer);
        if (teamRank == 0)
        {
            StartCoroutine(CoroutineForStartWaitSeat());
        }
    }
 /// <summary>
 /// 意图-闲置
 /// </summary>
 public void SetIntentForIdle()
 {
     cookPro.SetActive(false);
     chefIntent = ChefIntentEnum.Idle;
     //设置灶台为空闲
     if (orderForCustomer != null && orderForCustomer.stove != null)
     {
         orderForCustomer.stove.SetStoveStatus(BuildStoveCpt.StoveStatusEnum.Idle);
     }
     orderForCustomer = null;
     npcAIWorker.SetIntent(NpcAIWorkerCpt.WorkerIntentEnum.Idle);
 }
Exemple #17
0
 /// <summary>
 /// 意图-前往取餐
 /// </summary>
 /// <param name="orderForCustomer"></param>
 public void SetIntentForGoToGetFood(OrderForCustomer orderForCustomer)
 {
     if (CheckUtil.CheckPath(transform.position, orderForCustomer.stove.GetTakeFoodPosition()))
     {
         sendPro.SetActive(true);
         movePosition = orderForCustomer.stove.GetTakeFoodPosition();
         npcAIWorker.characterMoveCpt.SetDestination(movePosition);
     }
     else
     {
         SetIntent(WaiterIntentEnum.Idle);
     }
 }
Exemple #18
0
 /// <summary>
 /// 离开处理
 /// </summary>
 public virtual void HandleForLeave()
 {
     //到目标点就删除
     if (!characterMoveCpt.IsAutoMoveStop())
     {
         return;
     }
     SetIntent(CustomerIntentEnum.None);
     gameObject.SetActive(false);
     gameObject.transform.position = new Vector3(0, -10000, 0);
     orderForCustomer = new OrderForCustomer(CustomerTypeEnum.Normal, this);
     timeWaitSeat     = 20;
     NpcHandler.Instance.builderForCustomer.listHideNpc.Enqueue(gameObject);
 }
Exemple #19
0
    /// <summary>
    /// 设置食物
    /// </summary>
    /// <param name="foodData"></param>
    public void CreateFood(InnFoodManager innFoodManager, OrderForCustomer orderForCustomer)
    {
        //创建食物
        GameObject foodObj = Instantiate(itemFoodModel, objFoodContainer.transform);

        foodObj.SetActive(true);
        foodObj.transform.position = GameUtil.GetTransformInsidePosition2D(foodObj.transform, 0.5f);
        FoodForCustomerCpt foodCpt = foodObj.GetComponent <FoodForCustomerCpt>();

        foodCpt.SetData(orderForCustomer.foodData, orderForCustomer.foodLevel);
        orderForCustomer.foodCpt = foodCpt;
        //食物创建动画
        foodCpt.CreateAnim();
    }
Exemple #20
0
    /// <summary>
    /// 点指定食物
    /// </summary>
    /// <param name="orderForCustomer"></param>
    /// <param name="menuId"></param>
    /// <returns></returns>
    public MenuInfoBean OrderForFood(OrderForCustomer orderForCustomer, long menuId)
    {
        GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData();
        //食物数据库里有这个数据
        MenuInfoBean menuInfo = InnFoodHandler.Instance.manager.GetFoodDataById(menuId);

        if (menuInfo != null && gameData.CheckIsSellMenu(menuId))
        {
            orderForCustomer.foodData = menuInfo;
            foodQueue.Add(orderForCustomer);
            RecordCustomerForMenu(orderForCustomer, menuId);
            return(menuInfo);
        }
        return(null);
    }
 /// <summary>
 /// 意图-前往做菜
 /// </summary>
 /// <param name="orderForCustomer"></param>
 public void SetIntentForGoToCook(OrderForCustomer orderForCustomer)
 {
     //如果订单是否有效
     if (!orderForCustomer.CheckOrder())
     {
         SetIntent(ChefIntentEnum.Idle);
         return;
     }
     movePosition = orderForCustomer.stove.GetCookPosition();
     if (movePosition == null)
     {
         LogUtil.Log("厨师寻路失败-没有灶台烹饪点");
         return;
     }
     npcAIWorker.characterMoveCpt.SetDestination(movePosition);
     cookPro.SetActive(true);
 }
Exemple #22
0
    /// <summary>
    /// 结算所有客户
    /// </summary>
    public void SettlementAllCustomer()
    {
        if (CheckUtil.ListIsNull(listOrder))
        {
            return;
        }
        GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData();

        for (int i = 0; i < listOrder.Count; i++)
        {
            OrderForBase itemOrder = listOrder[i];
            if (itemOrder == null)
            {
                continue;
            }
            if (itemOrder as OrderForCustomer != null)
            {
                OrderForCustomer orderForCustomer = itemOrder as OrderForCustomer;
                if (orderForCustomer.customer != null &&
                    (orderForCustomer.customer.customerIntent == NpcAICustomerCpt.CustomerIntentEnum.Eatting ||
                     orderForCustomer.customer.customerIntent == NpcAICustomerCpt.CustomerIntentEnum.GotoPay ||
                     orderForCustomer.customer.customerIntent == NpcAICustomerCpt.CustomerIntentEnum.WaitPay ||
                     orderForCustomer.customer.customerIntent == NpcAICustomerCpt.CustomerIntentEnum.Pay))
                {
                    if (orderForCustomer.foodData == null)
                    {
                        continue;
                    }
                    MenuOwnBean menuOwn = gameData.GetMenuById(orderForCustomer.foodData.id);
                    menuOwn.GetPrice(orderForCustomer.foodData, out long payMoneyL, out long payMoneyM, out long payMoneyS);
                    PayMoney(itemOrder, payMoneyL, payMoneyM, payMoneyS, false);
                }
            }
            else if (itemOrder as OrderForHotel != null)
            {
                OrderForHotel orderForHotel = itemOrder as OrderForHotel;
                BuildBedBean  buildBedData  = orderForHotel.bed.buildBedData;
                PayMoney(itemOrder,
                         buildBedData.priceL * orderForHotel.sleepTime,
                         buildBedData.priceM * orderForHotel.sleepTime,
                         buildBedData.priceS * orderForHotel.sleepTime,
                         false);
            }
        }
    }
Exemple #23
0
    /// <summary>
    /// 记录顾客点菜
    /// </summary>
    public void RecordCustomerForMenu(OrderForCustomer order, long menuId)
    {
        GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData();
        //成就记录
        UserAchievementBean userAchievement = gameData.GetAchievementData();

        //如果是团队
        if (order.customerType == CustomerTypeEnum.Team)
        {
            NpcTeamBean teamData = ((NpcAICustomerForGuestTeamCpt)order.customer).teamData;
            userAchievement.AddMenuForCustomer(order.customerType, teamData.id + "", menuId);
        }
        else if (order.customerType == CustomerTypeEnum.Friend)
        {
            CharacterBean characterData = ((NpcAICostomerForFriendCpt)order.customer).characterData;
            userAchievement.AddMenuForCustomer(order.customerType, characterData.baseInfo.characterId, menuId);
        }
    }
Exemple #24
0
 /// <summary>
 /// 处理-排队
 /// </summary>
 public void HandleForCusomerQueue()
 {
     if (!CheckUtil.ListIsNull(cusomerQueue))
     {
         BuildTableCpt tableCpt = innTableHandler.GetIdleTable();
         if (tableCpt != null)
         {
             //排队成功
             OrderForCustomer orderForCustomer = cusomerQueue[0];
             //移除排队列表
             cusomerQueue.RemoveAt(0);
             //设置座位
             orderForCustomer.table = tableCpt;
             //设置客户前往座位
             orderForCustomer.customer.SetIntent(NpcAICustomerCpt.CustomerIntentEnum.GotoSeat, orderForCustomer);
         }
     }
 }
    /// <summary>
    /// 设置意图
    /// </summary>
    /// <param name="chefIntent"></param>
    /// <param name="orderForCustomer"></param>
    public void SetIntent(ChefIntentEnum chefIntent, OrderForCustomer orderForCustomer)
    {
        this.chefIntent       = chefIntent;
        this.orderForCustomer = orderForCustomer;
        switch (chefIntent)
        {
        case ChefIntentEnum.Idle:
            SetIntentForIdle();
            break;

        case ChefIntentEnum.GoToCook:
            SetIntentForGoToCook(orderForCustomer);
            break;

        case ChefIntentEnum.Cooking:
            SetIntentForCooking(orderForCustomer);
            break;
        }
    }
Exemple #26
0
    /// <summary>
    /// 随机点餐
    /// </summary>
    /// <returns></returns>
    public MenuInfoBean OrderForFood(OrderForCustomer orderForCustomer)
    {
        GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData();
        //获取正在出售的菜品
        List <MenuOwnBean> listOwnMenu = gameData.GetMenuListForSell();

        if (listOwnMenu.Count == 0)
        {
            return(null);
        }
        //随机获取一个菜品
        MenuOwnBean menuOwnItem = RandomUtil.GetRandomDataByList(listOwnMenu);

        if (menuOwnItem == null)
        {
            return(null);
        }
        return(OrderForFood(orderForCustomer, menuOwnItem));
    }
Exemple #27
0
 /// <summary>
 /// 强制结束一个订单
 /// </summary>
 /// <param name="orderForCustomer"></param>
 /// <param name="isPraise">是否评价</param>
 public void EndOrderForForce(OrderForCustomer orderForCustomer, bool isPraise)
 {
     //如果已经安排了位置
     if (orderForCustomer.table != null)
     {
         //如果食物还没有吃完时 则直接删除食物
         if (orderForCustomer.customer.customerIntent == NpcAICustomerCpt.CustomerIntentEnum.GotoSeat ||
             orderForCustomer.customer.customerIntent == NpcAICustomerCpt.CustomerIntentEnum.WaitFood ||
             orderForCustomer.customer.customerIntent == NpcAICustomerCpt.CustomerIntentEnum.Eatting)
         {
             orderForCustomer.table.CleanTable();
             //如果食物是正在做或者还没有送过来,也直接删除
             if (orderForCustomer.foodCpt != null)
             {
                 Destroy(orderForCustomer.foodCpt.gameObject);
             }
         }
         //如果食物已经吃完,则应该在清理列表中
         //支付一半的钱
         //PayMoney(orderForCustomer, 0.5f);
     }
     //根据心情评价客栈 前提订单里有他
     if (isPraise)
     {
         InnPraise(orderForCustomer.innEvaluation.GetPraise());
     }
     //如果桌子还属于这个顾客
     //如果在排队,移除排队
     if (cusomerQueue.Contains(orderForCustomer))
     {
         cusomerQueue.Remove(orderForCustomer);
     }
     if (foodQueue.Contains(orderForCustomer))
     {
         foodQueue.Remove(orderForCustomer);
     }
     if (sendQueue.Contains(orderForCustomer))
     {
         sendQueue.Remove(orderForCustomer);
     }
     EndOrder(orderForCustomer);
 }
Exemple #28
0
    /// <summary>
    /// 处理-前往获取食物
    /// </summary>
    public void HandleForGoToGetFood()
    {
        OrderForCustomer orderForCustomer = order as OrderForCustomer;

        if (order.CheckOrder())
        {
            if (npcAIWorker.characterMoveCpt.IsAutoMoveStop())
            {
                SetIntent(WaiterIntentEnum.SendFood, orderForCustomer);
            }
        }
        else
        {
            //删除食物
            if (orderForCustomer.foodCpt != null)
            {
                Destroy(orderForCustomer.foodCpt.gameObject);
            }
            SetIntent(WaiterIntentEnum.Idle);
        }
    }
    /// <summary>
    /// 意图-做菜中
    /// </summary>
    /// <param name="orderForCustomer"></param>
    public void SetIntentForCooking(OrderForCustomer orderForCustomer)
    {
        //检测是否能烹饪
        GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData();
        bool         canCook  = gameData.CheckCookFood(orderForCustomer.foodData);

        if (canCook)
        {
            //扣除食材
            gameData.DeductIng(orderForCustomer.foodData);
            //记录食材消耗
            InnHandler.Instance.ConsumeIngRecord(orderForCustomer.foodData);
            //设置灶台状态
            orderForCustomer.stove.SetStoveStatus(BuildStoveCpt.StoveStatusEnum.Cooking);
            StartCoroutine(StartCook());
        }
        else
        {
            npcAIWorker.characterShoutCpt.Shout(TextHandler.Instance.manager.GetTextById(13001));
            orderForCustomer.customer.SendForCanNotCook();
            SetIntent(ChefIntentEnum.Idle);
        }
    }
 /// <summary>
 /// 表情处理
 /// </summary>
 public void HandleForMood()
 {
     if (targetNpcAIForCustomerFood != null)
     {
         OrderForCustomer order = targetNpcAIForCustomerFood.GetOrderForCustomer();
         if (order != null && order.table != null)
         {
             PraiseTypeEnum praiseType    = order.innEvaluation.GetPraise();
             string         praiseTypeStr = order.innEvaluation.GetPraiseDetails();
             SetMood(praiseTypeStr, targetNpcAIForCustomerFood.characterMoodCpt.GetCurrentMoodSprite());
         }
     }
     if (targetNpcAIForCustomerHotel != null)
     {
         OrderForHotel order = targetNpcAIForCustomerHotel.orderForHotel;
         if (order != null && order.GetOrderStatus() != OrderHotelStatusEnum.End)
         {
             PraiseTypeEnum praiseType    = order.innEvaluation.GetPraise();
             string         praiseTypeStr = order.innEvaluation.GetPraiseDetails();
             SetMood(praiseTypeStr, targetNpcAIForCustomerHotel.characterMoodCpt.GetCurrentMoodSprite());
         }
     }
 }