Exemplo n.º 1
0
 public OrderForHotel(NpcAICustomerForHotelCpt customer, BuildBedCpt bed)
 {
     this.customer    = customer;
     this.bed         = bed;
     orderHotelStatus = OrderHotelStatusEnum.Start;
     sleepTime        = UnityEngine.Random.Range(1, 3);
 }
Exemplo n.º 2
0
    /// <summary>
    /// 创建一个住宿订单
    /// </summary>
    /// <param name="npc"></param>
    /// <param name="buildBedCpt"></param>
    /// <returns></returns>
    public OrderForHotel CreateOrderForHotel(NpcAICustomerForHotelCpt npc, BuildBedCpt buildBedCpt)
    {
        OrderForHotel order = new OrderForHotel(npc, buildBedCpt);

        hotelQueue.Add(order);
        listOrder.Add(order);
        return(order);
    }
Exemplo n.º 3
0
    public void BuildCustomerForHotel(Vector3 npcPosition)
    {
        //生成NPC
        GameObject npcObj = BuildNpc(listCustomerForHotelHide, objCustomerForHotelModel, npcPosition);
        //设置意图
        NpcAICustomerForHotelCpt customerAI = npcObj.GetComponent <NpcAICustomerForHotelCpt>();

        //想要吃饭概率
        if (GameTimeHandler.Instance.GetDayStatus() == GameTimeHandler.DayEnum.Work && InnHandler.Instance.GetInnStatus() == InnHandler.InnStatusEnum.Open)
        {
            customerAI.SetIntent(NpcAICustomerForHotelCpt.CustomerHotelIntentEnum.GoToInn);
        }
        else
        {
            customerAI.SetIntent(NpcAICustomerForHotelCpt.CustomerHotelIntentEnum.Walk);
        }
    }
Exemplo n.º 4
0
 public void SetDataForCustomerHotel(NpcAICustomerForHotelCpt npcAICustomer)
 {
     this.targetNpcAIForCustomerHotel = npcAICustomer;
     //设置类型
     if (npcAICustomer.orderForHotel == null)
     {
         SetType(TextHandler.Instance.manager.GetTextById(70));
     }
     else
     {
         SetType(TextHandler.Instance.manager.GetTextById(60));
         //设置状态
         objNpcStatus.SetActive(true);
         npcAICustomer.GetCustomerHotelStatus(out string customerStatus);
         SetStatus(customerStatus);
     }
     ShowCustomerHotelData();
 }