void openFileBrowser(IFileSelectable file) { targetFile = file; fileBrowser = new FileBrowser( new Rect(0, 0, fileBrowserRect.width, fileBrowserRect.height), "ファイル選択", FileSelectedCallback ); fileBrowser.SelectionPatterns = Params.Extensions[file.fileType]; }
string drawFileField(string value, string label, IFileSelectable file, int indent = 0) { GUILayout.BeginHorizontal(); spacer(indent); GUILayout.Label(label, labelStyle, labelWidth); string val = GUILayout.TextField(value, textStyle, textHeight); if (GUILayout.Button("...", buttonStyle, GUILayout.Width(fontSize * 2))) { openFileBrowser(file); } if (GUILayout.Button("適用", buttonStyle, GUILayout.Width(fontSize * 4))) { file.LoadFile(file.FilenameWithExtension); Maid maid = GameMain.Instance.CharacterMgr.GetMaid(0); switch (file.fileType) { case Params.FileType.menu: loadMenu(); Menu.ProcScript(maid, file.FilenameWithExtension); maid.body0.FixMaskFlag(); maid.body0.FixVisibleFlag(false); maid.AllProcPropSeqStart(); break; case Params.FileType.mate: var mate = (MateFile)file; foreach (var slot in Params.MPNtoSlotname[mate.category]) { maid.body0.ChangeMaterial(slot, mate.matno, mate.FilenameWithExtension); } break; case Params.FileType.model: var model = (ModelFile)file; foreach (var slot in Params.MPNtoSlotname[model.category]) { if (slot == "body") { maid.body0.LoadBody_R(model.FilenameWithExtension, maid); } else { maid.body0.AddItem(slot, model.FilenameWithExtension); } } maid.body0.FixMaskFlag(); maid.body0.FixVisibleFlag(false); maid.AllProcPropSeqStart(); break; case Params.FileType.tex: break; case Params.FileType.image: var tex = (TexParams)file; if (tex.texFile != null) { if (tex.texFile.LoadFile(tex.FilenameWithExtension)) { foreach (var slot in Params.MPNtoSlotname[tex.mateFile.category]) { maid.body0.ChangeTex(slot, tex.mateFile.matno, tex.propertyName, tex.filename, null); } } } break; } } GUILayout.EndHorizontal(); return(val); }
string drawFileField(string value, string label, IFileSelectable file, int indent = 0) { GUILayout.BeginHorizontal(); spacer(indent); GUILayout.Label(label, labelStyle, labelWidth); string val = GUILayout.TextField(value, textStyle, textHeight); if (GUILayout.Button("...", buttonStyle, GUILayout.Width(fontSize * 2))) { openFileBrowser(file); } if (GUILayout.Button("適用", buttonStyle, GUILayout.Width(fontSize * 4))) { file.LoadFile(file.FilenameWithExtension); Maid maid = GameMain.Instance.CharacterMgr.GetMaid(0); switch (file.fileType) { case Params.FileType.menu: loadMenu(); Menu.ProcScript(maid, file.FilenameWithExtension); maid.body0.FixMaskFlag(); maid.body0.FixVisibleFlag(false); maid.AllProcPropSeqStart(); break; case Params.FileType.mate: var mate = (MateFile)file; foreach (var slot in Params.MPNtoSlotname[mate.category]) { maid.body0.ChangeMaterial(slot, mate.matno, mate.FilenameWithExtension); } break; case Params.FileType.model: var model = (ModelFile)file; foreach (var slot in Params.MPNtoSlotname[model.category]) { if (slot == "body") { maid.body0.LoadBody_R(model.FilenameWithExtension, maid); } else { maid.body0.AddItem(slot, model.FilenameWithExtension); } } maid.body0.FixMaskFlag(); maid.body0.FixVisibleFlag(false); maid.AllProcPropSeqStart(); break; case Params.FileType.tex: break; case Params.FileType.image: var tex = (TexParams)file; if (tex.texFile != null) { if (tex.texFile.LoadFile(tex.FilenameWithExtension)) { foreach (var slot in Params.MPNtoSlotname[tex.mateFile.category]) { maid.body0.ChangeTex(slot, tex.mateFile.matno, tex.propertyName, tex.filename, null); } } } break; } } GUILayout.EndHorizontal(); return val; }