/// <summary> Convert struct to local position for transform </summary> public static void FromLocalStructToLocal(this Transform transform, TransformLocalStruct data, bool ignoreActive = true) { // transfrom from Local to World transform.localPosition = data.localPosition; transform.localEulerAngles = data.localEulerAngles; transform.localScale = data.localScale; if (!ignoreActive) { transform.gameObject.SetActive(data.active); } }
public static void FromLocalStructToWorld(this Transform transform, TransformLocalStruct data, bool ignoreActive = true) { // transfrom from Local to World + parent Position! transform.position = (data.parent.localToWorldMatrix * data.localPosition); transform.position += data.parent.position; transform.localEulerAngles = data.localEulerAngles; transform.localScale = data.localScale; if (!ignoreActive) { transform.gameObject.SetActive(data.active); } }