public InstPlacement( String[] args ) { ObjectID = uint.Parse( args[ 0 ] ); Object = ItemManager.GetObject( ObjectID ); Modelname = args[ 1 ]; CellID = (UInt16) int.Parse( args[ 2 ] ); float posX = -float.Parse( args[ 3 ] ); float posZ = float.Parse( args[ 4 ] ); float posY = float.Parse( args[ 5 ] ); Position = new Vector3( posX, posY, posZ ); float rotX = -float.Parse( args[ 6 ] ); float rotZ = float.Parse( args[ 7 ] ); float rotY = float.Parse( args[ 8 ] ); float rotW = float.Parse( args[ 9 ] ); Rotation = new Quaternion( rotX, rotY, rotZ, rotW ); LODIndex = int.Parse( args[ 10 ] ); IsLOD = false; }
public InstPlacement( FramedStream stream ) { BinaryReader reader = new BinaryReader( stream ); float posX = -reader.ReadSingle(); float posZ = reader.ReadSingle(); float posY = reader.ReadSingle(); Position = new Vector3( posX, posY, posZ ); float rotX = -reader.ReadSingle(); float rotZ = reader.ReadSingle(); float rotY = reader.ReadSingle(); float rotW = reader.ReadSingle(); Rotation = new Quaternion( rotX, rotY, rotZ, rotW ); ObjectID = reader.ReadUInt32(); Object = ItemManager.GetObject( ObjectID ); CellID = (UInt16) reader.ReadInt32(); LODIndex = reader.ReadInt32(); IsLOD = false; }