/// <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(); }
/// <summary> /// 开启客栈 /// </summary> public void OpenInn() { AudioHandler.Instance.PlayMusicForLoop(AudioMusicEnum.Game); NpcHandler.Instance.builderForWorker.BuildAllWorker(); InitInn(); innStatus = InnStatusEnum.Open; //生成客人 NpcHandler.Instance.builderForCustomer.StartBuildCustomer(); }