using BX; using System.Collections; using System.Collections.Generic; using UnityEngine; /// /// 常用方法 /// public class CommonMethods:SingletonManager { /// /// 手机震动 /// public void CellPhoneShank() { //BXSdk.Instance.Shake(); } /// /// 删除所有子对象 /// /// 父节点 public void DeleteChildObjects(Transform node) { for (int i = 0; i < node.childCount; i++) { Object.Destroy(node.GetChild(i).gameObject); } } /// /// 欧拉角转换Instector的rotation值 /// /// GameObject 的transform.up /// GameObject 的transform.eulerAngle /// 返回已经转换的值 public Vector3 EulerAngles2InspectorRotation(GameObject obj) { Vector3 resVector = obj.transform.eulerAngles; if (Vector3.Dot(obj.transform.up, Vector3.up) >= 0f) { if (obj.transform.eulerAngles.x >= 0f && obj.transform.eulerAngles.x <= 90f) { resVector.x = obj.transform.eulerAngles.x; } if (obj.transform.eulerAngles.x >= 270f && obj.transform.eulerAngles.x <= 360f) { resVector.x = obj.transform.eulerAngles.x - 360f; } } if (Vector3.Dot(obj.transform.up, Vector3.up) < 0f) { if (obj.transform.eulerAngles.x >= 0f && obj.transform.eulerAngles.x <= 90f) { resVector.x = 180 - obj.transform.eulerAngles.x; } if (obj.transform.eulerAngles.x >= 270f && obj.transform.eulerAngles.x <= 360f) { resVector.x = 180 - obj.transform.eulerAngles.x; } } if (obj.transform.eulerAngles.y > 180) { resVector.y = obj.transform.eulerAngles.y - 360f; } if (obj.transform.eulerAngles.z > 180) { resVector.z = obj.transform.eulerAngles.z - 360f; } Debug.Log(" Inspector Rotation: " + " x=" + Mathf.RoundToInt(resVector.x * 1000) / 1000f + " , y=" + Mathf.RoundToInt(resVector.y * 1000) / 1000f + " , z=" + Mathf.RoundToInt(resVector.z * 1000) / 1000f); return resVector; } }