/// <summary> /// 检测 /// </summary> /// <param name="collision"></param> public void OnTriggerEnter2D(Collider2D collision) { if (objConvertSpaceShow.activeSelf) { NpcAICustomerCpt customerCpt = collision.GetComponent <NpcAICustomerCpt>(); if (customerCpt) { if (customerCpt.customerIntent != NpcAICustomerCpt.CustomerIntentEnum.Leave && customerCpt.customerIntent != NpcAICustomerCpt.CustomerIntentEnum.Walk && customerCpt.customerIntent != NpcAICustomerCpt.CustomerIntentEnum.Want && customerCpt.customerIntent != NpcAICustomerCpt.CustomerIntentEnum.WaitAccost && customerCpt.customerIntent != NpcAICustomerCpt.CustomerIntentEnum.TalkWithAccost) { if (teamData.GetTeamType() == NpcTeamTypeEnum.Entertain) { EffectHandler.Instance.PlayEffect(customerCpt.objEffectContainer, "Effect_Happy_1", customerCpt.transform.position + new Vector3(0, 0.5f), 0); customerCpt.ChangeMood(20f); } else if (teamData.GetTeamType() == NpcTeamTypeEnum.Disappointed) { EffectHandler.Instance.PlayEffect(customerCpt.objEffectContainer, "Effect_Sulkiness_1", customerCpt.transform.position + new Vector3(0, 0.5f), 0); customerCpt.ChangeMood(-20f); } else { } } } } }
/// <summary> /// 点击-驱除 /// </summary> public void OnClickExpel() { if (targetNpcAIForCustomerFood != null) { targetNpcAIForCustomerFood.ChangeMood(-99999); } if (targetNpcAIForCustomerHotel != null) { targetNpcAIForCustomerHotel.ChangeMood(-99999); } }
/// <summary> /// 检测 /// </summary> /// <param name="collision"></param> public void OnTriggerEnter2D(Collider2D collision) { if (objRascalSpaceShow.activeSelf) { NpcAICustomerCpt customerCpt = collision.GetComponent <NpcAICustomerCpt>(); if (customerCpt) { if (customerCpt.customerIntent != NpcAICustomerCpt.CustomerIntentEnum.Leave && customerCpt.customerIntent != NpcAICustomerCpt.CustomerIntentEnum.Walk && customerCpt.customerIntent != NpcAICustomerCpt.CustomerIntentEnum.Want && customerCpt.customerIntent != NpcAICustomerCpt.CustomerIntentEnum.WaitAccost && customerCpt.customerIntent != NpcAICustomerCpt.CustomerIntentEnum.TalkWithAccost) { AudioHandler.Instance.PlaySound(AudioSoundEnum.Passive); } customerCpt.ChangeMood(-99999); } } }
/// <summary> /// 开始交谈 /// </summary> /// <returns></returns> public IEnumerator CoroutineForStartTalking() { //计算聊天时间 float talkTime = npcAIWorker.characterData.CalculationAccostTalkTime(); //设置状态 npcAICustomer.SetIntent(NpcAICustomerCpt.CustomerIntentEnum.TalkWithAccost); yield return(new WaitForSeconds(talkTime)); //是否成功 if (npcAIWorker.characterData.CalculationAccostRate()) { //根据魅力增加好感 int addMood = npcAIWorker.characterData.CalculationAccostAddMood(); npcAICustomer.ChangeMood(addMood); npcAIWorker.SetExpression(CharacterExpressionCpt.CharacterExpressionEnum.Love); npcAICustomer.SetExpression(CharacterExpressionCpt.CharacterExpressionEnum.Love); npcAICustomer.SetIntent(NpcAICustomerCpt.CustomerIntentEnum.Want); //记录 npcAIWorker.characterData.baseInfo.accostInfo.AddAccostSuccessNumber(1); //添加经验 npcAIWorker.characterData.baseInfo.accostInfo.AddExp(1, out bool isLevelUp); if (isLevelUp) { ToastForLevelUp(WorkerEnum.Accost); } } else { npcAIWorker.SetExpression(CharacterExpressionCpt.CharacterExpressionEnum.Wordless); npcAICustomer.SetExpression(CharacterExpressionCpt.CharacterExpressionEnum.Mad); npcAICustomer.SetIntent(NpcAICustomerCpt.CustomerIntentEnum.Leave); //记录 npcAIWorker.characterData.baseInfo.accostInfo.AddAccostFailNumber(1); //添加经验 //npcAIWorker.characterData.baseInfo.accostInfo.AddExp(1); } SetIntent(AccostIntentEnum.Idle); }