示例#1
0
    public static void SetValue(this RTable <double> instance, int index, double input)
    {
        //Convert values to our maximum.
        instance.values[index] = (double)input / 100.0;

        instance.RecalcValue(index);
    }
示例#2
0
 public void FillTable()
 {
     foreach (SPoint p in ShapePoints)
     {
         RTable.Add(new Vector(Center, p));
     }
 }
示例#3
0
    public static void SetValues(this RTable <double> instance, string input)
    {
        var s = input.Substring(1, input.Length - 2).SplitFloats(",", false);

        for (int i = 0; i < s.Length; i++)
        {
            instance.values[i] = s[i];
        }
    }
示例#4
0
    //Type-specific value assignment from an input string
    //takes a string of characters in format:  "[0,1,2,.....127]"
    public static void SetValues(this RTable <int> instance, string input)
    {
        var s = input.Substring(1, input.Length - 2).Split(",", false);

        for (int i = 0; i < instance.values.Length; i++)
        {
            instance.values[i] = Convert.ToByte(s[i]);
        }
    }
示例#5
0
 //Custom waveform function
 public static double wave(double n, RTable <double> auxData = null)
 {
     if (auxData == null)
     {
         return(0.0);
     }
     n %= 1.0;
     return(auxData[(int)(Math.Abs(n) * auxData.values.Length - double.Epsilon)] * 2.0 - 1.0);
 }
示例#6
0
        private void LoadInternalObjects()
        {
            RTable table = new RTable();

            table.Connect(_data, _manager);
            _intelligentObjects.Add(table);


            RBed b = new RBed();

            b.Connect(_data, _manager);
            _intelligentObjects.Add(b);
        }
示例#7
0
    /// Takes a compatible JSON string from the clipboard and populates the table with it.
    public static int FromString(this RTable <Double> instance, string input, bool tableOnly = true)
    {
        var p = GdsFMJson.JSONData.ReadJSON(input);

        if (p is GdsFMJson.JSONDataError)
        {
            return(-1);                               // JSON malformed.  Exit early.
        }
        var o = (GdsFMJson.JSONObject)p;

        if (o.GetItem("_iotype", "") != RTable <Double> ._iotype)
        {
            return(-2);                                                     //Incorrect iotype.  Exit early.
        }
        instance.SetValues(o, tableOnly);
        return(0);
    }
示例#8
0
    /// Input from a float source, value's coming in from 0-100 and should be tamped down to 0-1.
    public static void SetValues(this RTable <double> instance, Godot.Collections.Dictionary input)
    {
        // GD.Print("attempting to assign RTable.......");
        // GD.Print(input["values"].GetType());

        //Structure of dict:   {values=[PoolRealArray tbl], floor=0, ceiling=100, use_log=false...}
        instance.floor   = Convert.ToDouble(input["floor"]);
        instance.ceiling = Convert.ToDouble(input["ceiling"]);
        instance.use_log = Convert.ToBoolean(input["use_log"]);

        //Convert values to our maximum.
        var vals = (System.Single[])input["values"];

        for (int i = 0; i < vals.Length; i++)
        {
            instance.values[i] = (double)vals[i] / 100.0;
        }

        instance.RecalcValues();
    }
示例#9
0
    //TODO:  EQUIVALENT FOR RTable<Byte>
    public static Godot.Collections.Dictionary ToDict(this RTable <Double> instance)
    {
        // var output = new float[128];
        var out_tbl = new Godot.Collections.Array(new float[128]);
        var output  = new Godot.Collections.Dictionary();

        var out_tbl_precalc = new Godot.Collections.Array(new float[128]);

        for (int i = 0; i < 128; i++)
        {
            out_tbl[i]         = (float)(instance.values[i] * 100.0);
            out_tbl_precalc[i] = (float)instance.precalc_values[i];
        }

        output["values"]         = out_tbl;
        output["precalc_values"] = out_tbl_precalc;
        output["floor"]          = instance.floor;
        output["ceiling"]        = instance.ceiling;
        output["use_log"]        = instance.use_log;


        return(output);
    }
示例#10
0
    //Input from a serialized source, value's coming in from 0-1.
    public static void SetValues(this RTable <double> instance, GdsFMJson.JSONObject input, bool tableOnly = false)
    {
        // GD.Print("attempting to assign RTable.......");

        //Structure of dict:   {values=[PoolRealArray tbl], floor=0, ceiling=100, use_log=false...}

        if (!tableOnly)
        {
            instance.floor   = input.GetItem("floor", (float)instance.floor);
            instance.ceiling = input.GetItem("ceiling", (float)instance.ceiling);
            instance.use_log = input.GetItem("use_log", instance.use_log);
        }

        //Convert values to our maximum.
        var vals = (GdsFMJson.JSONArray)input.GetItem("values");

        for (int i = 0; i < vals.Length; i++)
        {
            instance.values[i] = vals[i].ToFloat();
        }

        instance.RecalcValues();
    }
示例#11
0
		public string ToCSVLine(char cFieldDelimX, char cTextDelimX, bool bReplaceNewLineWithTabInsteadOfHTMLBrWithMarkerProperty, int ColumnStart, int ColumnCount) {
			return RTable.RowToCSVLine(fieldarr, cFieldDelimX, cTextDelimX, ColumnStart, ColumnCount, bReplaceNewLineWithTabInsteadOfHTMLBrWithMarkerProperty);
		}
示例#12
0
 private void CreateTable()
 {
     table = new RTable();
     table.CreateTable(10, 5, 5, 0.25);
 }