Example #1
0
        public override void Serialize(JsonWriter writer)
        {
            writer.WriteStartObject();

            writer.WritePropertyName("input");
            writer.WriteValue(Input.Id);

            // the spec defines "LINEAR" as default, but we need to explicitly export this since there are issues with Google SceneViewer when no interpolation is specified
            writer.WritePropertyName("interpolation");
            writer.WriteValue(Interpolation.ToString());

            writer.WritePropertyName("output");
            writer.WriteValue(Output.Id);

            base.Serialize(writer);

            writer.WriteEndObject();
        }
Example #2
0
        public override void Serialize(JsonWriter writer)
        {
            writer.WriteStartObject();

            writer.WritePropertyName("input");
            writer.WriteValue(Input.Id);

            if (Interpolation != InterpolationType.LINEAR)
            {
                writer.WritePropertyName("interpolation");
                writer.WriteValue(Interpolation.ToString());
            }

            writer.WritePropertyName("output");
            writer.WriteValue(Output.Id);

            base.Serialize(writer);

            writer.WriteEndObject();
        }
Example #3
0
        public static Interpolation Get(InterpolationType type)
        {
            switch (type)
            {
            case InterpolationType.Linear: return(Linear);

            case InterpolationType.Pow2: return(Pow2);

            case InterpolationType.Pow3: return(Pow3);

            case InterpolationType.Pow4: return(Pow4);

            case InterpolationType.Pow5: return(Pow5);

            case InterpolationType.PowIn2: return(PowIn2);

            case InterpolationType.PowIn3: return(PowIn3);

            case InterpolationType.PowIn4: return(PowIn4);

            case InterpolationType.PowIn5: return(PowIn5);

            case InterpolationType.PowOut2: return(PowOut2);

            case InterpolationType.PowOut3: return(PowOut3);

            case InterpolationType.PowOut4: return(PowOut4);

            case InterpolationType.PowOut5: return(PowOut5);

            case InterpolationType.Exp5: return(Exp5);

            case InterpolationType.Exp10: return(Exp10);

            case InterpolationType.Elastic: return(Elastic);

            case InterpolationType.Cubic: return(Cubic);
            }
            throw new ArgumentException(type.ToString());
        }
        private void UpdateTexts()
        {
            _laneLabel.text = "Lane " + (_laneIndex + 1);

            _interpolationPanel.gameObject.SetActive(_methodType == MethodType.FixedUpdate && _physicsSyncType == PhysicsSyncType.Default);
            _bodyPanel.gameObject.SetActive(_movementType != MovementType.CharacterController_Move);


            if (_physicsSyncType == PhysicsSyncType.Default)
            {
                _methodText.text           = _methodType.ToString();
                _methodButton.interactable = true;
            }
            else
            {
                _methodText.text           = MethodType.Update.ToString();
                _methodButton.interactable = false;
            }

            _bodyText.text          = _bodyType.ToString();
            _movementText.text      = _movementType.ToString().Replace("_", ".");
            _interpolationText.text = _interpolationType.ToString().Replace("_", " ");
        }
Example #5
0
 public override string ToString()
 {
     return(string.Format("{0}{1}[{2}]", interp == InterpolationType.NONE ? "" : interp.ToString().ToLower() + " ", type.ToString().ToLower(), size()));
 }
Example #6
0
 private bool isValidParameter(string name, ParameterType type, InterpolationType interp, int requestedSize, Parameter p)
 {
     if (p == null)
     {
         return(false);
     }
     if (p.type != type)
     {
         UI.printWarning(UI.Module.API, "Parameter {0} requested as a {1} - declared as {2}", name, type.ToString().ToLower(), p.type.ToString().ToLower());
         return(false);
     }
     if (p.interp != interp)
     {
         UI.printWarning(UI.Module.API, "Parameter {0} requested as a {1} - declared as {2}", name, interp.ToString().ToLower(), p.interp.ToString().ToLower());
         return(false);
     }
     if (requestedSize > 0 && p.size() != requestedSize)
     {
         UI.printWarning(UI.Module.API, "Parameter {0} requires {1} {2} - declared with {3}", name, requestedSize, requestedSize == 1 ? "value" : "values", p.size());
         return(false);
     }
     p.Checked = true;
     return(true);
 }
Example #7
0
        public List <FOBJKey> GetKeys(float FrameCount = -1)
        {
            List <FOBJKey> Keys  = new List <FOBJKey>();
            int            clock = 0;

            Reader.Seek(0);
            while (Reader.Position() < FOBJ.Data.Length)
            {
                int type = Reader.ExtendedByte();
                InterpolationType interpolation = (InterpolationType)((type) & 0x0F);
                int numOfKey = ((type >> 4)) + 1;
                if (interpolation == 0)
                {
                    break;
                }

                for (int i = 0; i < numOfKey; i++)
                {
                    double value = 0;
                    double tan   = 0;
                    int    time  = 0;
                    switch (interpolation)
                    {
                    case InterpolationType.Step:
                        value = ReadVal(Reader, FOBJ.ValueFormat, FOBJ.ValueScale);
                        time  = Reader.ExtendedByte();
                        break;

                    case InterpolationType.Linear:
                        value = ReadVal(Reader, FOBJ.ValueFormat, FOBJ.ValueScale);
                        time  = Reader.ExtendedByte();
                        break;

                    case InterpolationType.HermiteValue:
                        value = ReadVal(Reader, FOBJ.ValueFormat, FOBJ.ValueScale);
                        time  = Reader.ExtendedByte();
                        break;

                    case InterpolationType.Hermite:
                        value = ReadVal(Reader, FOBJ.ValueFormat, FOBJ.ValueScale);
                        tan   = ReadVal(Reader, FOBJ.TanFormat, FOBJ.TanScale);
                        time  = Reader.ExtendedByte();
                        break;

                    case InterpolationType.HermiteCurve:
                        tan = ReadVal(Reader, FOBJ.TanFormat, FOBJ.TanScale);
                        break;

                    case InterpolationType.Constant:
                        value = ReadVal(Reader, FOBJ.ValueFormat, FOBJ.ValueScale);
                        break;

                    default:
                        throw new Exception("Unknown Interpolation Type " + interpolation.ToString("X"));
                    }
                    //Console.WriteLine(clock + " " + value + " " + FOBJ.ValueFormat );

                    FOBJKey kf = new FOBJKey();
                    kf.InterpolationType = interpolation;
                    kf.Value             = (float)value;
                    kf.Frame             = clock;
                    kf.Tan = (float)tan;
                    Keys.Add(kf);
                    clock += time;
                }
            }
            return(Keys);
        }
Example #8
0
 private bool isValidParameter(string name, ParameterType type, InterpolationType interp, int requestedSize, Parameter p)
 {
     if (p == null)
         return false;
     if (p.type != type)
     {
         UI.printWarning(UI.Module.API, "Parameter {0} requested as a {1} - declared as {2}", name, type.ToString().ToLower(), p.type.ToString().ToLower());
         return false;
     }
     if (p.interp != interp)
     {
         UI.printWarning(UI.Module.API, "Parameter {0} requested as a {1} - declared as {2}", name, interp.ToString().ToLower(), p.interp.ToString().ToLower());
         return false;
     }
     if (requestedSize > 0 && p.size() != requestedSize)
     {
         UI.printWarning(UI.Module.API, "Parameter {0} requires {1} {2} - declared with {3}", name, requestedSize, requestedSize == 1 ? "value" : "values", p.size());
         return false;
     }
     p.Checked = true;
     return true;
 }