public static void SetFacePos(GameObject target, Vector3 targetPos, MathRange YRotateRange) { ShooterSkillManager mgr = target.GetComponent <ShooterSkillManager>(); if (mgr == null) { LogicSystem.GfxLog("SetFacePos skill manager miss!"); return; } mgr.SetFacePos(targetPos, YRotateRange); }
public void SetFacePos(Vector3 targetPos, MathRange YRotateRange) { //Debug.Log("---face: cur pos " + gameObject.transform.position + " target-pos:" + targetPos); Vector3 dir = targetPos - transform.position; //dir.y = 0; transform.forward = dir; Vector3 rotate = gameObject.transform.rotation.eulerAngles; rotate.x = YRotateRange.Clip(rotate.x); gameObject.transform.rotation = Quaternion.Euler(rotate); LogicSystem.NotifyGfxUpdatePosition(gameObject, transform.position.x, transform.position.y, transform.position.z, 0, rotate.y * Mathf.PI / 180, 0); }