Transform Local Euler Z#
Transform / Transform Local Euler Z
Can Read
Can Write
Description#
The Local Euler Rotation Z component of Transform component
Code#
using System;
using UnityEngine;
using VisualScript.Icons;
namespace VisualScript.Runtime
{
[Get, Set]
[Title("Transform Local Euler Z")]
[Category("Transform/Local Euler Z")]
[Description("The Local Euler Rotation Z component of Transform component")]
[Image(typeof(IconQuaternion), ColorTheme.Type.Lime, typeof(BadgeZ))]
[Keywords("World", "Global", "Rotation", "Rotate")]
[Serializable]
public class TypeNumberTransformLocalRotationEulerZ : TypeNumber
{
[SerializeField] private GetGameObject m_Transform = new GetGameObject(
new GenTypeGameObject_Transform()
);
public override double Get(Args args)
{
Transform transform = this.m_Transform.Get<Transform>(args);
return transform != null ? transform.localRotation.eulerAngles.z : 0;
}
public override void Set(double value, Args args)
{
Transform transform = this.m_Transform.Get<Transform>(args);
if (transform != null)
{
Quaternion rotation = Quaternion.Euler(
transform.localRotation.eulerAngles.x,
transform.localRotation.eulerAngles.y,
(float) value
);
transform.localRotation = rotation;
}
}
public override string ToString()
{
return $"{this.m_Transform} Local Euler.z";
}
protected override SubscriptionMode Subscription => SubscriptionMode.OnChange;
}
}