public static AxisSelections EditAxisSelection(AxisSelections value) { var values = Enum.GetValues(typeof(AxisSelections)).Cast <AxisSelections>().ToArray(); var names = values.Select(x => x.ToString()).ToArray(); return(values[EditorGUILayout.Popup(Array.IndexOf(values, value), names)]); }
public static void EditAxes(FloatCompression[] compression, AxisSelections selection) { EditorGUILayout.BeginVertical(); compression[AC.Axis.X] = ExitAxis(compression[AC.Axis.X], "X", (selection & AxisSelections.X) == AxisSelections.X); compression[AC.Axis.Y] = ExitAxis(compression[AC.Axis.Y], "Y", (selection & AxisSelections.Y) == AxisSelections.Y); compression[AC.Axis.Z] = ExitAxis(compression[AC.Axis.Z], "Z", (selection & AxisSelections.Z) == AxisSelections.Z); EditorGUILayout.EndVertical(); }
public void EmitVectorSettings(CodeExpression expr, CodeStatementCollection statements, FloatCompression[] axes, AxisSelections selection, bool strictCompare) { if (selection != AxisSelections.Disabled) { List <CodeExpression> exprs = CreateAxisCompressionExpression(axes, selection); exprs.Add(strictCompare.Literal()); statements.Call(expr, "Settings_Vector", exprs.ToArray()); } }
public override void OnCreated() { Selection = AxisSelections.XYZ; }
public override void OnCreated() { PositionSelection = AxisSelections.XYZ; RotationSelection = AxisSelections.XYZ; }
public void EmitQuaternionSettings(CodeExpression expr, CodeStatementCollection statements, FloatCompression[] axes, FloatCompression quaternion, AxisSelections selection, bool strictCompare) { if (selection != AxisSelections.Disabled) { if (axes == null || quaternion == null || selection == AxisSelections.XYZ) { statements.Call(expr, "Settings_Quaternion", CreateFloatCompressionExpression(quaternion, true), strictCompare.Literal()); } else { List <CodeExpression> exprs = CreateAxisCompressionExpression(axes, selection); exprs.Add(strictCompare.Literal()); statements.Call(expr, "Settings_QuaternionEuler", exprs.ToArray()); } } }
public List <CodeExpression> CreateAxisCompressionExpression(FloatCompression[] axes, AxisSelections selection) { if (axes == null) { selection = AxisSelections.XYZ; } List <CodeExpression> args = new List <CodeExpression>(); args.Add(CreateFloatCompressionExpression(axes[Axis.X], (selection & AxisSelections.X) == AxisSelections.X)); args.Add(CreateFloatCompressionExpression(axes[Axis.Y], (selection & AxisSelections.Y) == AxisSelections.Y)); args.Add(CreateFloatCompressionExpression(axes[Axis.Z], (selection & AxisSelections.Z) == AxisSelections.Z)); return(args); }