예제 #1
0
        public static void Register()
        {
            NamedConstants.RegisterExpression("Console", () => new ConsoleObject(), "Console.WriteLine");

            Object = Builder.New
                     .WithAction("WriteLine", () => Console.WriteLine())
                     .WithAction("WriteLine", (TextValue t) => Console.WriteLine(t.Text), true)
                     .WithAction("Write", (TextValue t) => Console.Write(t.Text), true)
                     .WithAction("Repeat", (TextValue t, IntValue n) => Console.WriteLine(string.Concat(Enumerable.Repeat(t.Text, (int)n))), true)
                     .Build();
        }
예제 #2
0
        private void OnEnable()
        {
            namedConstants = (NamedConstants)this.serializedObject.targetObject;

            list = new ReorderableList(
                serializedObject,
                serializedObject.FindProperty("values"),
                true, true, true, true);

            list.drawHeaderCallback  = this.OnDrawHeader;
            list.drawElementCallback = this.OnDrawElement;
        }
예제 #3
0
        public static void Register()
        {
            NamedConstants.RegisterExpression("Trig", () => new ConsoleObject(), "Trig.sin, Trig.arcsin, Trig.degsin, Trig.degarcsin");

            Object = Builder.New
                     .WithFunc("sin", (DecimalValue d) => (DecimalValue)Math.Sin((double)d), true)
                     .WithFunc("cos", (DecimalValue d) => (DecimalValue)Math.Cos((double)d), true)
                     .WithFunc("tan", (DecimalValue d) => (DecimalValue)Math.Tan((double)d), true)
                     .WithFunc("degsin", (DecimalValue d) => (DecimalValue)(Math.Sin((double)d) / Math.PI * 180), true)
                     .WithFunc("degcos", (DecimalValue d) => (DecimalValue)(Math.Cos((double)d) / Math.PI * 180), true)
                     .WithFunc("degtan", (DecimalValue d) => (DecimalValue)(Math.Tan((double)d) / Math.PI * 180), true)
                     .WithFunc("arcsin", (DecimalValue d) => (DecimalValue)Math.Sinh((double)d), true)
                     .WithFunc("arccos", (DecimalValue d) => (DecimalValue)Math.Cosh((double)d), true)
                     .WithFunc("arctan", (DecimalValue d) => (DecimalValue)Math.Tanh((double)d), true)
                     .WithFunc("degarcsin", (DecimalValue d) => (DecimalValue)Math.Sinh((double)d / 180 * Math.PI), true)
                     .WithFunc("degarccos", (DecimalValue d) => (DecimalValue)Math.Sinh((double)d / 180 * Math.PI), true)
                     .WithFunc("degarctan", (DecimalValue d) => (DecimalValue)Math.Sinh((double)d / 180 * Math.PI), true)
                     .Build();
        }
예제 #4
0
 public static void Register()
 {
     NamedConstants.RegisterExpression("SumDeep", () => new SumDeepFunction(), "Sums up all parameters given to it. Explores lists deeply");
 }
예제 #5
0
 public static void Register()
 {
     NamedConstants.RegisterValue("null", Null);
 }
예제 #6
0
 public static void Register()
 {
     NamedConstants.RegisterValue("i", new ComplexValue(0, 1), "I");
 }
예제 #7
0
 public static void Register()
 {
     NamedConstants.RegisterExpression("Length", () => new LengthFunction(), "Gets the length of a vector described by a list");
 }
예제 #8
0
 public static void NamedConstantGroupMaskPopup(SerializedObject serializedObject, string label, string propertyName, NamedConstants constants, string groupName)
 {
     NamedConstantGroupMaskPopup(serializedObject, label, propertyName, constants, null);
 }
예제 #9
0
 public static void Register()
 {
     NamedConstants.RegisterExpression("Sqrt", () => new SqrtFunction(), "Sqrt(v)");
 }
예제 #10
0
 public static void Register()
 {
     NamedConstants.RegisterValue("true", new BooleanValue(true));
     NamedConstants.RegisterValue("false", new BooleanValue(false));
 }
예제 #11
0
 public static void Register()
 {
     NamedConstants.RegisterExpression("continue", () => new ContinueExpression(), "continue");
 }
예제 #12
0
 public static void Register()
 {
     NamedConstants.RegisterExpression("Pow", () => new PowFunction(), "Pow(base, exponent)");
 }
예제 #13
0
 public static void Register()
 {
     NamedConstants.RegisterExpression("this", () => new ThisConstant(), "This");
 }
예제 #14
0
 public static void Register()
 {
     NamedConstants.RegisterValue("pi", new DecimalValue(3.141592653589793238462643383279m));
     NamedConstants.RegisterValue("e", new DecimalValue(2.71828182845904523536028747135266249m));
 }
 public static void Register()
 {
     NamedConstants.RegisterExpression("return", () => new ReturnFunctionExpression(), "return(val1, val2, ...)");
 }
예제 #16
0
 public static void Register()
 {
     NamedConstants.RegisterExpression("break", () => new BreakExpression(), "break");
 }
예제 #17
0
 public static void Register()
 {
     NamedConstants.RegisterExpression("ExecuteFile", () => new ExecuteFile(), "ExecuteFile(filename)");
 }
예제 #18
0
 public static void Register()
 {
     NamedConstants.RegisterExpression("Product", () => new ProductFunction(), "Product(x1, x2, ...)");
 }
예제 #19
0
 public static void Register()
 {
     NamedConstants.RegisterExpression("Help", () => new HelpFunction(), "Help([functionName/ValueName])");
 }
예제 #20
0
        public static void NamedConstantGroupMaskPopup(SerializedObject serializedObject, string label, string propertyName, NamedConstants constants, string groupName, Rect?position)
        {
            if (constants == null)
            {
                EditorGUILayout.LabelField(label, "<missing constants>");
                return;
            }

            var property = serializedObject.FindProperty(propertyName);
            var values   = constants.GetGroup(groupName);
            var labels   = values.Select(x => x.Name).ToArray();

            if (position == null)
            {
                property.intValue = EditorGUILayout.MaskField(label, property.intValue, labels);
            }
            else
            {
                property.intValue = EditorGUI.MaskField(position.Value, label, property.intValue, labels);
            }
        }
예제 #21
0
 public static void Register()
 {
     NamedConstants.RegisterExpression("Abs", () => new AbsFunction(), "Abs(val)");
 }