Transform Local Euler Y#
Transform / Transform Local Euler Y
Can Read
Can Write
Description#
The Local Euler Rotation Y component of Transform component
Code#
using System;
using UnityEngine;
using VisualScript.Icons;
namespace VisualScript.Runtime
{
[Get, Set]
[Title("Transform Local Euler Y")]
[Category("Transform/Local Euler Y")]
[Description("The Local Euler Rotation Y component of Transform component")]
[Image(typeof(IconQuaternion), ColorTheme.Type.Lime, typeof(BadgeY))]
[Keywords("World", "Global", "Rotation", "Rotate")]
[Serializable]
public class TypeNumberTransformLocalRotationEulerY : 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.y : 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,
(float) value,
transform.localRotation.eulerAngles.z
);
transform.localRotation = rotation;
}
}
public override string ToString()
{
return $"{this.m_Transform} Local Euler.y";
}
protected override SubscriptionMode Subscription => SubscriptionMode.OnChange;
}
}