Exemple #1
0
 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);
            }
        }
Exemple #3
0
 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;
         }
     });
 }
Exemple #4
0
    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);
        }
    }
Exemple #5
0
        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;
            }
        }
Exemple #7
0
        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
                });
            }
        }
Exemple #8
0
 public MMDCardWidget(MMDObject mMDObject, Action <MMDObject, bool> favoriteChanged)
 {
     MMDObject        = mMDObject;
     FavoriteCallback = favoriteChanged;
 }
 public void StartRender(MMDObject mmdObject)
 {
     MmdObjects.Add(mmdObject);
     IsRendering.Value = true;
 }