コード例 #1
0
ファイル: EditorGUI.cs プロジェクト: RottenVisions/ascension
        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)]);
        }
コード例 #2
0
ファイル: EditorGUI.cs プロジェクト: RottenVisions/ascension
 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();
 }
コード例 #3
0
        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());
            }
        }
コード例 #4
0
 public override void OnCreated()
 {
     Selection = AxisSelections.XYZ;
 }
コード例 #5
0
 public override void OnCreated()
 {
     PositionSelection = AxisSelections.XYZ;
     RotationSelection = AxisSelections.XYZ;
 }
コード例 #6
0
        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());
                }
            }
        }
コード例 #7
0
        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);
        }