public NiTransformInterpolator(BinaryReader reader, NiFile niFile) : base(reader, niFile) { Transform = new NiQuatTransform(reader, niFile); Data = new NiRef <NiTransformData>(niFile, reader.ReadInt32()); }
public NiFloat(BinaryReader reader, NiFile niFile) : base(reader, niFile) { Value = reader.ReadSingle(); }
public NiObject(BinaryReader reader, NiFile niFile) { Reader = reader; File = niFile; }
public NiKeyBasedInterpolator(BinaryReader reader, NiFile niFile) : base(reader, niFile) { }
public NifObjectBuilder(NiFile file, MaterialManager materialManager, int markerLayer) { _file = file; _materialManager = materialManager; _markerLayer = markerLayer; }
public NiSwitchNode(BinaryReader reader, NiFile file) : base(reader, file) { Flags = (NiSwitchFlags)reader.ReadUInt16(); Index = reader.ReadUInt32(); }
public NiTextureProperty(BinaryReader reader, NiFile file) : base(reader, file) { Flags = reader.ReadInt16(); Image = new NiRef <NiImage>(file, reader.ReadInt32()); }
public NiSpecularProperty(BinaryReader reader, NiFile file) : base(reader, file) { Flags = reader.ReadInt16(); }
public NiTexCoord(BinaryReader reader, NiFile niFile) : base(reader, niFile) { U = reader.ReadSingle(); V = reader.ReadSingle(); }
public NiVisController(BinaryReader reader, NiFile niFile) : base(reader, niFile) { }
public NiKeyframeController(BinaryReader reader, NiFile niFile) : base(reader, niFile) { }
public NiBillboardNode(BinaryReader reader, NiFile file) : base(reader, file) { Mode = (BillboardMode)reader.ReadUInt16(); }
public NifObjectBuilder(NiFile obj, MaterialManager materialManager, int markerLayer) { _obj = obj; _materialManager = materialManager; _markerLayer = markerLayer; }
public NiTriangle(BinaryReader reader, NiFile niFile) : base(reader, niFile) { V1 = reader.ReadUInt16(); V2 = reader.ReadUInt16(); V3 = reader.ReadUInt16(); }
public override void OnLoad() { if (_renderGameObject != null) { DestroyImmediate(_renderGameObject); } if (_renderAsset != null) { _renderAsset = _renderAsset.Replace("\\\\", "\\").Replace('\\', '/'); var renderAsset = _renderAsset; FileStream stream = null; string directory = null; if (Path.GetExtension(renderAsset) == ".kfm") { foreach (var file in Directory.GetFiles( WorkspaceControl.CurrentWorkspace.WorkingRoot, Path.GetFileNameWithoutExtension(renderAsset) + ".nif*", SearchOption.AllDirectories) ) { renderAsset = file; directory = Path.GetDirectoryName(file); Debug.Log($"Found NIF from KFM: {file}"); stream = File.OpenRead(renderAsset); break; } } else if (Path.GetExtension(renderAsset) == ".nif") { directory = Path.GetDirectoryName(renderAsset.ToLower()); stream = Utilities.OpenAssetStreamRead(renderAsset.ToLower()); } else { Debug.Log($"Unknown render file {renderAsset} format"); return; } if (stream == null) { throw new FileNotFoundException($"{renderAsset}"); } using var reader = new BitReader(stream); var nif = new NiFile(); nif.Deserialize(reader); nif.ReadBlocks(reader); var constructor = new ModelConstructor(); constructor.NifPath = directory; constructor.File = nif; constructor.Name = Path.GetFileNameWithoutExtension(renderAsset); constructor.CreatePrefab = true; constructor.PrefabPath = Path.Combine( WorkspaceControl.CurrentWorkspace.AssetModelsPath, constructor.Name ); var root = constructor.Construct(); root.transform.parent = transform; root.transform.localPosition = Vector3.zero; _renderGameObject = root; stream.Dispose(); } }
public NiTexture(BinaryReader reader, NiFile file) : base(reader, file) { }
public NiFloatData(BinaryReader reader, NiFile niFile) : base(reader, niFile) { Data = new NiKeyGroup <NiFloat>(reader, niFile); }
public NiTransform(BinaryReader reader, NiFile niFile) : base(reader, niFile) { Rotation = new NiMatrix3X3(reader, niFile); Position = new NiVector3(reader, niFile); Scale = reader.ReadSingle(); }
public NiExtraData(BinaryReader Reader, NiFile niFile) : base(Reader, niFile) { }
public NiTriBasedGeomData(BinaryReader reader, NiFile niFile) : base(reader, niFile) { TriangleCount = reader.ReadUInt16(); }
public NiPoint3InterpController(BinaryReader reader, NiFile niFile) : base(reader, niFile) { }
public NiStringExtraData(BinaryReader reader, NiFile niFile) : base(reader, niFile) { return; String = new NiString(reader); }