public void RevSpeech(MaxJob speaker, Vector3 standingPostion) { _speaker = speaker; if (_state == State.SeekingSocial) { StopSocialSeeking(); } ChangeState(State.RevSpeach); agent.SetDestination(standingPostion); transform.LookAt(speaker.agent.transform); _line = Factory.Instance.GetTalkingLine(); var lat = _line.GetComponent <LineAttachTo>(); lat.targetA = transform; lat.targetB = speaker.agent.transform; var lr = _line.GetComponent <LineRenderer>(); lr.material.color = Color.green; _changeCD = 0f; }
public void StopRevSpeech() { _speaker = null; _needs.SocialNeed.Value += SPEECH_SOCIAL_BENFIT; Factory.Instance.ReleaseTalkingLine(ref _line); ChangeState(State.Wandering); }
void FindJob() { if (beliefControler.PassionLevel == BeliefControler.EPassionLevel.Max) { var newJob = new MaxJob() { agent = agent, beliefControler = beliefControler, Camera = camera, FactionCom = _factionCom }; _worker.GiveJob(newJob); } else if (beliefControler.PassionLevel == BeliefControler.EPassionLevel.High) { GiveFollowerJob(); } else { CityInfo.Instance.FindJobForWorker(_worker, agent, camera); } }