Quaternion#
Can Read
Cannot Write
Description#
A constant Quaternion value created with an Euler angle rotation
Code#
using System;
using System.Globalization;
using UnityEngine;
using VisualScript.Icons;
namespace VisualScript.Runtime
{
[Get]
[Inline(nameof(m_Value))]
[Title("Quaternion")]
[Category("Quaternion")]
[Description("A constant Quaternion value created with an Euler angle rotation")]
[Image(typeof(IconQuaternion), ColorTheme.Type.Lime)]
[Keywords("Value", "Constant")]
[Serializable]
public class TypeQuaternionConstant : TypeQuaternion
{
[SerializeField] private Vector3 m_Value;
public override Quaternion GetPreview(GameObject source) => Quaternion.Euler(this.m_Value);
public TypeQuaternionConstant() : this(default)
{ }
public TypeQuaternionConstant(Quaternion value)
{
this.m_Value = value.eulerAngles;
}
public override Quaternion Get(Args args)
{
return Quaternion.Euler(this.m_Value);
}
public override string ToString()
{
return this.m_Value.ToString("0", CultureInfo.InvariantCulture);
}
protected override SubscriptionMode Subscription => SubscriptionMode.OnEditorChange;
}
}