//public Vector2 AvoidObstacles() //{ // if (sensers == null) // { // sensers = new List<TankSensor>(m_transform.GetComponentsInChildren<TankSensor>()); // } // if (sensers == null) // return Vector2.zero; // List<float> senserLens = new List<float>(); // foreach (var senser in sensers) // { // senserLens.Add(senser.CurrentLength); // } // if (senserLens[0] < senserLens[2]) // { // return m_transform.right * Time.deltaTime; // } // else if (senserLens[0] > senserLens[2]) // { // return -m_transform.right * Time.deltaTime; // } // return Vector2.zero; //} /// <summary> /// 徘徊 /// </summary> /// <returns></returns> Vector2 Wander() { wandarTarget += new Vector2(AiTools.RandomClamped() * wandarJitter, AiTools.RandomClamped() * wandarJitter); wandarTarget = wandarTarget.normalized * wandarRadius; Vector2 targetLocal = wandarTarget + Vector2.right * wandarDistance; Vector2 targetWorld = m_transform.TransformPoint(targetLocal); return(targetWorld - m_entity.Position); }
void Update() { if (CanMove) { //if (Input.GetMouseButton(0)) //{ Vector2 newVel = _steering.Calculate(AiTools.GetMousePosition()); UpdateTank(newVel); //} } }