コード例 #1
0
ファイル: ParameterCurve.cs プロジェクト: gp-alex/Librelancer
        public ParameterCurve(LuaTable table)
        {
            CLSID = (string)table["CLSID"];
            switch (CLSID.ToLowerInvariant())
            {
            case "freeformpcurve":
                Type = PCurveType.FreeForm;
                break;

            case "bumpinpcurve":
                Type = PCurveType.BumpIn;
                break;

            case "bumpoutpcurve":
                Type = PCurveType.BumpOut;
                break;

            case "rampdownpcurve":
                Type = PCurveType.RampDown;
                break;

            case "rampuppcurve":
                Type = PCurveType.RampUp;
                break;

            case "steppcurve":
                Type = PCurveType.Step;
                break;

            case "smoothpcurve":
                Type = PCurveType.Step;
                break;

            case "thornlpcurve":
                Type = PCurveType.ThornL;
                break;

            case "linearpcurve":
                Type = PCurveType.Linear;
                break;

            case "catmullrompcurve":
                Type = PCurveType.CatmullRom;
                break;
            }
            var points = (LuaTable)table["points"];

            Points = new List <Vector4>();
            for (int i = 0; i < points.Capacity; i++)
            {
                var p = (LuaTable)points[i];
                var v = new Vector4((float)p[0], (float)p[1], (float)p[2], (float)p[3]);
                Points.Add(v);
            }
        }
コード例 #2
0
 public ParameterCurve(PCurveType type, IEnumerable <Vector4> points)
 {
     Type   = type;
     Points = points.ToList();
     Period = -1;
 }