private MMDCardWidget BuildCard(MMDObject x) => new MMDCardWidget(x, (m, b) => { if (mounted) { setState(() => mMDObjects.Find(o => o.FilePath == m.FilePath).IsFavored.Value = b); } });
/// <summary> /// Find pmx in folder /// </summary> /// <param name="path">The path contain the pmx files</param> private void GetMmdObjects(string path) { var objects = Directory .EnumerateFiles(path, "*.*", SearchOption.AllDirectories).Where(s => Path.GetExtension(s).EndsWith(".pmx", true, CultureInfo.CurrentCulture)); foreach (var x in objects) { var obj = new MMDObject(x, x.Remove(x.LastIndexOf("\\")), path); ObservedMMDObjects.Add(obj); } }
public override void initState() { base.initState(); _mmdObject = widget.MMDObject; _mmdObject.PreviewPath.ObserveEveryValueChanged(x => x.Value) .Subscribe(_ => { using (WindowProvider.of(GameObject.Find("Panel")).getScope()) { _mmdObject.PreviewPath = _mmdObject.PreviewPath; } }); }
void OnFiles(List <string> aFiles, POINT aPos) { foreach (var s in aFiles.Where(x => x.EndsWith(".pmx", StringComparison.OrdinalIgnoreCase))) { var mmdObject = new MMDObject(s, s.Remove(s.LastIndexOf("\\")), string.Empty); var builder = GameObject.Find("MMDRenderer") .GetComponent <PreviewBuilder.PreviewBuilder>(); MMMServices.Instance.SpecifiedMmdObjects.Add(mmdObject); builder.StartRender(mmdObject); } }
public static void SaveToXML(MMDObject @object) { Debug.Log("SaveToXML"); var path = $"{@object.FilePath}.xml"; TextWriter writer = new StreamWriter(path); var serializer = new XmlSerializer(typeof(MMDObjectXML)); serializer.Serialize(writer, new MMDObjectXML() { IsFavored = @object.IsFavored.Value }); writer.Close(); }
private void FixedUpdate() { // Save rt ass♂ we can if (!IsRendering.Value || IsSaving.Value) { return; } if (MmdObjects.Count != 0) { //OnRenderStart(); // Notify that start render System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.WaitCursor; try { CurrentMmdObject = MmdObjects.First(); var rt = new RenderTexture(renderWidth, renderHeight, 0, RenderTextureFormat.ARGB32, RenderTextureReadWrite.sRGB) { name = $"{CurrentMmdObject.FileName}", depth = 0, anisoLevel = 0, dimension = TextureDimension.Tex2D, antiAliasing = 8 }; rtCamera.targetTexture = rt; IsSaving.Value = true; CreatePmx(); StartCoroutine(TakePhoto(rt)); } catch (Exception e) { Debug.LogError(e.Message); rtCamera.targetTexture = null; } } else { IsRendering.Value = false; rtCamera.targetTexture = null; } }
public static MMDObjectXML LoadMMDObjectXML(MMDObject @object) { var path = $"{@object.FilePath}.xml"; if (File.Exists(path)) { var serializer = new XmlSerializer(typeof(MMDObjectXML)); var reader = new StreamReader(path); var res = serializer.Deserialize(reader) as MMDObjectXML; reader.Close(); return(res); } else { return(new MMDObjectXML() { IsFavored = false }); } }
public MMDCardWidget(MMDObject mMDObject, Action <MMDObject, bool> favoriteChanged) { MMDObject = mMDObject; FavoriteCallback = favoriteChanged; }
public void StartRender(MMDObject mmdObject) { MmdObjects.Add(mmdObject); IsRendering.Value = true; }