示例#1
0
 /// <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
                 {
                 }
             }
         }
     }
 }
示例#2
0
 /// <summary>
 /// 点击-驱除
 /// </summary>
 public void OnClickExpel()
 {
     if (targetNpcAIForCustomerFood != null)
     {
         targetNpcAIForCustomerFood.ChangeMood(-99999);
     }
     if (targetNpcAIForCustomerHotel != null)
     {
         targetNpcAIForCustomerHotel.ChangeMood(-99999);
     }
 }
示例#3
0
 /// <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);
         }
     }
 }
示例#4
0
    /// <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);
    }