Example #1
0
        public virtual void Load(jmp data, int entryIndex)
        {
            FieldInfo[] fields = this.GetType().GetFields(BindingFlags.NonPublic | BindingFlags.Instance);

            for (int i = 0; i < data.fields.Count; i++)
            {
                switch (data.fields[i].type)
                {
                case jmp.JMPType.FLOAT:
                    if (fields[i].FieldType == typeof(float))
                    {
                        fields[i].SetValue(this, data.getFloatField(entryIndex, i));
                    }
                    break;

                case jmp.JMPType.INTEGER:
                    if (fields[i].FieldType == typeof(int))
                    {
                        fields[i].SetValue(this, data.getIntField(entryIndex, i));
                    }
                    break;

                case jmp.JMPType.STRING:
                    if (fields[i].FieldType == typeof(string))
                    {
                        fields[i].SetValue(this, data.getStringField(entryIndex, i));
                    }
                    break;

                default:
                    break;
                }
            }
        }
Example #2
0
        public override void Load(jmp data, int entryIndex)
        {
            base.Load(data, entryIndex);

            Position = new OpenTK.Vector3(posX, posY, posZ);
            Rotation = new OpenTK.Quaternion(new OpenTK.Vector3(rotX, rotY, rotZ));
            Scale    = new OpenTK.Vector3(scaleX, scaleY, scaleZ);

            HasRoomNumber = true;
        }