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