//public bool IsLocked = false; //public string TempLockedTargetID; public static void CheckComplitionMoveInDream(ModelNPC.GameDataAlien dataNPC) { //TEST if (dataNPC.IsReality) { Debug.Log(Storage.EventsUI.ListLogAdd = "### CheckComplitionMoveInDream dataNPC IsReality !!!"); return; } Vector3 newCurrentPosition = GetAlienData(dataNPC).Position;// .MovePosition; float dist = Vector3.Distance(dataNPC.TargetPosition, newCurrentPosition); //string nameFiledTarget = Helper.GetNameField(dataNPC.TargetPosition); //string nameFiledCurrent = Helper.GetNameField(newCurrentPosition); string nameFiledTarget = Helper.GetNameFieldPosit(dataNPC.TargetPosition.x, dataNPC.TargetPosition.y); string nameFiledCurrent = Helper.GetNameFieldPosit(newCurrentPosition.x, newCurrentPosition.y); //End move to Target bool trueDist = dist < MinDistEndMove; bool trueField = nameFiledTarget == nameFiledCurrent; if (trueDist || trueField) { //@JOB@ if (AlienJobsManager.CheckJobAlien(dataNPC) == false) { RequestActionNPC(dataNPC, NameActionsPerson.Idle, null); } } }
public static void CheckComplitionLoot(ModelNPC.GameDataAlien dataNPC, GameActionPersonController controller) { //if (AlienJobsManager.CheckJobAlien(dataNPC) == false) if (AlienJobsManager.CheckJobAlien(dataNPC, isCheckDistance: false) == false) { RequestActionNPC(dataNPC, NameActionsPerson.Target, controller); } }
private void CheckComplitionMove() { if (m_dataNPC == null || m_MeMovement == null || m_MeAnimation == null) { return; } Vector3 targetPosition = m_dataNPC.TargetPosition; m_MeMovement = targetPosition - transform.position; if (m_MeMovement != new Vector2()) { if (m_MeMovement.x != 0) { bool isRight = m_MeMovement.x > 0; //<<ANIMATION>> m_MeAnimation.PersonLook(isRight); } } bool isCompletedMoving = false; isCompletedMoving = TestMoveTargetLock(); if (isCompletedMoving) //LOCK { RequestActionNPC(m_dataNPC, NameActionsPerson.IdleLock, this); int colWay = UnityEngine.Random.Range(1, 4); foreach (int i in Enumerable.Range(0, colWay)) { RequestActionNPC(m_dataNPC, NameActionsPerson.TargetLocal, this); } RequestActionNPC(m_dataNPC, NameActionsPerson.TargetBackToBase, this); } else { //test on Structure //!FIX MOVE TARGET! bool p_isLarge = IsValidLargeLock(false); //float dist = Vector3.Distance(targetPosition, transform.position); //isCompletedMoving = dist < MinDistEndMove; //if (isCompletedMoving) //END WAY TO BASE TARGET if (Helper.DistanceIsFinish(targetPosition, transform.position, p_isLarge)) { //@JOB@ if (AlienJobsManager.CheckJobAlien(m_dataNPC, this, false) == false) { RequestActionNPC(m_dataNPC, NameActionsPerson.Idle, this); RequestActionNPC(m_dataNPC, NameActionsPerson.Target, this); } isCompletedMoving = true; } } bool isAnimateMove = (ActionPerson == NameActionsPerson.Move) && isCompletedMoving == false; //<<ANIMATION>> if (m_MeAnimation != null) { m_MeAnimation.PersonMove(isAnimateMove); } }