Esempio n. 1
0
        internal static RigidBodyList GetRigidBodyList(Stream fs, Header header)
        {
            RigidBodyList data = new RigidBodyList();

            data.RigidBodies    = new List <RigidBodyData>();
            data.RigidBodyCount = ParserHelper.getInt(fs);
            for (int i = 0; i < data.RigidBodyCount; i++)
            {
                data.RigidBodies.Add(RigidBodyData.GetRigidBodyData(fs, header));
            }
            return(data);
        }
Esempio n. 2
0
        internal static RigidBodyData GetRigidBodyData(Stream fs, Header header)
        {
            RigidBodyData data = new RigidBodyData();

            data.RigidBodyName        = ParserHelper.getTextBuf(fs, header.Encode);
            data.RigidBodyName_En     = ParserHelper.getTextBuf(fs, header.Encode);
            data.BoneIndex            = ParserHelper.getIndex(fs, header.BoneIndexSize);
            data.RigidBodyGroup       = ParserHelper.getByte(fs);
            data.UnCollisionGroupFlag = ParserHelper.getUShort(fs);
            data.Shape               = (RigidBodyShape)ParserHelper.getByte(fs);
            data.Size                = ParserHelper.getFloat3(fs);
            data.Position            = ParserHelper.getFloat3(fs);
            data.Rotation            = ParserHelper.getFloat3(fs);
            data.Mass                = ParserHelper.getFloat(fs);
            data.MoveAttenuation     = ParserHelper.getFloat(fs);
            data.RotationAttenuation = ParserHelper.getFloat(fs);
            data.Repulsion           = ParserHelper.getFloat(fs);
            data.Friction            = ParserHelper.getFloat(fs);
            data.PhysicsCalcType     = (PhysicsCalcType)ParserHelper.getByte(fs);
            return(data);
        }