// Token: 0x0600000A RID: 10 RVA: 0x0000244C File Offset: 0x0000064C public static void OnSave(XmlElement rootElement) { try { rootElement.SetAttribute("Version", "1"); KKVMDPlayExtSavePlugin.saveLoadForScene.OnSave(rootElement); Studio.Studio instance = Singleton <Studio.Studio> .Instance; new List <OCIChar>(); foreach (KeyValuePair <int, ObjectCtrlInfo> keyValuePair in from e in instance.dicObjectCtrl orderby e.Key select e) { if (keyValuePair.Value is OCIChar) { OCIChar ocichar = keyValuePair.Value as OCIChar; XmlElement xmlElement = KKVMDPlayExtSavePlugin.AddVMDCharaInfoElem(rootElement, ocichar, ocichar.charInfo); if (xmlElement != null) { xmlElement.SetAttribute("dicKey", keyValuePair.Key.ToString()); } } } } catch (Exception value) { Console.WriteLine(value); } }
public static void LoadScenePreHook(Studio.Studio __instance) { if (VRManager.Instance.Mode is StudioStandingMode) { (VR.Manager.Interpreter as KKCharaStudioInterpreter).ForceResetVRMode(); } }
internal static void RefreshVisibleLoopPatch(TreeNodeObject _source) { try { if (TranslationHelper.Instance == null || !IllusionStudio.IsInstance() || !TranslationHelper.Instance.CurrentCardLoadTranslationEnabled || !Singleton <IllusionStudio> .Instance.dicInfo.TryGetValue(_source, out var ctrlInfo) || !(ctrlInfo is OCIChar oChar)) { return; } void Handler(string translatedName) { if (string.IsNullOrEmpty(translatedName)) { return; } _source.SafeProc(s => s.textName = translatedName); } oChar.charInfo.SafeProcObject(ci => ci.chaFile.SafeProc(cf => cf.TranslateFullName(Handler))); } catch (Exception err) { Logger.LogException(err, _source, nameof(RefreshVisibleLoopPatch)); } }
internal static void RefreshVisibleLoopPatch(TreeNodeObject _source) { if (TranslationHelper.Instance == null || !IllusionStudio.IsInstance() || !TranslationHelper.Instance.CurrentCardLoadTranslationEnabled || !Singleton <IllusionStudio> .Instance.dicInfo.TryGetValue(_source, out var ctrlInfo) || !(ctrlInfo is OCIChar oChar)) { return; } var chaFile = oChar.charInfo?.chaFile; if (chaFile == null) { return; } Configuration.UpdateTreeForChar(chaFile); var name = chaFile.GetFullName(); if (string.IsNullOrEmpty(name)) { return; } _source.textName = name; }
public static void SaveScenePrefix(Studio.Studio __instance) { Dictionary <int, ObjectInfo> dicObject = __instance.sceneInfo.dicObject; List <TreeNodeObject> treeNodeObj = __instance.treeNodeCtrl.GetField("m_TreeNodeObject") as List <TreeNodeObject>; Dictionary <int, ObjectInfo> resultDicObject = new Dictionary <int, ObjectInfo>(); foreach (TreeNodeObject t in treeNodeObj) { if (null == t) { continue; } if (Singleton <Studio.Studio> .Instance.dicInfo.TryGetValue(t, out ObjectCtrlInfo item) && dicObject.TryGetValue(item.objectInfo.dicKey, out ObjectInfo objInfo) && null != objInfo && objInfo == item.objectInfo ) { resultDicObject.Add(objInfo.dicKey, objInfo); } } Extension.Logger.LogDebug($"{dicObject.Count} -> {resultDicObject.Count}"); __instance.sceneInfo.dicObject = resultDicObject; }
protected override void OnSceneLoad(SceneOperationKind operation, ReadOnlyDictionary <int, ObjectCtrlInfo> loadedItems) { Studio.Studio studio = GetStudio(); AIGraphics parent = AIGraphics.Instance; parent?.SkyboxManager?.SetupDefaultReflectionProbe(); parent?.PresetManager?.Load(GetExtendedData()); }
public void hsneo_dump_camera2(StreamWriter file) { Studio.Studio studio = Studio.Studio.Instance; Studio.CameraControl c = studio.cameraCtrl; Studio.CameraControl.CameraData cdata = cameraData; file.WriteLine(String.Format("game.move_camera(pos=%s, distance=%s, rotate=%s)", cdata.pos.ToString(), cdata.distance.ToString(), cdata.rotate.ToString())); file.WriteLine(String.Format("# for VN Scene Script %s", this.camera_calcstr_for_vnscene())); file.WriteLine(String.Format("# other one: 'cam': {{ 'goto_pos': (({0:F3}, {1:F3}, {2:F3}), ({3:F3}, {4:F3}, {5:F3}), ({6:F3}, {7:F3}, {8:F3})) }}, ", cdata.pos.x, cdata.pos.y, cdata.pos.z, cdata.distance.x, cdata.distance.y, cdata.distance.z, cdata.rotate.x, cdata.rotate.y, cdata.rotate.z)); }
private void OnLevelWasLoaded(int level) { studio = Singleton <Studio.Studio> .Instance; if (studio == null) { return; } Transform cameraMenuRootT = studio.transform.Find("Canvas System Menu/02_Camera"); _instance.Init(cameraMenuRootT); }
/* public string calc_py_path() * { * var rootfolder = Path.GetFullPath(Path.Combine(Application.dataPath, "..")); * // os.path.splitext(__file__)[0] + '.ini' * var pydirname = path.dirname(@__file__); * return path.relpath(pydirname, rootfolder); * } */ // // camobj = self.get_camera_num(camnum) // self.move_camera_obj(camobj) // public void to_camera(int camnum) { Studio.Studio studio = Studio.Studio.Instance; SceneInfo si = studio.sceneInfo; Studio.CameraControl.CameraData[] cdatas = si.cameraData; Studio.CameraControl.CameraData cdata = cameraData; //var targetInfos = trav.Field("listBones"); //CameraData cdata = c.cameraData; cdata.Copy(cdatas[camnum - 1]); }
private static bool Studio_InitScene(Studio.Studio __instance, bool _close, ref BackgroundCtrl ___m_BackgroundCtrl) { if (IsStudio) { return(true); } __instance.ChangeCamera(null, false, true); Traverse.Create(__instance).Property("cameraCount").SetValue(0); __instance.treeNodeCtrl.DeleteAllNode(); foreach (KeyValuePair <TreeNodeObject, ObjectCtrlInfo> item in __instance.dicInfo) { switch (item.Value.kind) { case 0: { OCIChar oCIChar = item.Value as OCIChar; oCIChar?.StopVoice(); break; } case 4: { OCIRoute oCIRoute = item.Value as OCIRoute; oCIRoute?.DeleteLine(); break; } } Destroy(item.Value.guideObject.transformTarget.gameObject); } __instance.dicInfo.Clear(); __instance.dicChangeAmount.Clear(); __instance.dicObjectCtrl.Clear(); Singleton <Map> .Instance.ReleaseMap(); __instance.cameraCtrl.CloerListCollider(); __instance.bgmCtrl.Stop(); __instance.envCtrl.Stop(); __instance.outsideSoundCtrl.Stop(); __instance.sceneInfo.Init(); __instance.cameraCtrl.Reset(0); __instance.cameraLightCtrl.Reflect(); __instance.onChangeMap?.Invoke(); if (_close) { Destroy(___m_BackgroundCtrl); ___m_BackgroundCtrl = null; } return(false); }
private void OnLevelWasLoaded(int level) { studio = Singleton <Studio.Studio> .Instance; if (studio == null) { return; } Transform objectListCanvas = studio.gameObject.transform.Find("Canvas Object List"); _instance.Init(objectListCanvas); bgTex = new Texture2D(1, 1, TextureFormat.ARGB32, false); bgTex.SetPixel(0, 0, new Color(0.3f, 0.3f, 0.3f, 1f)); bgTex.Apply(); }
private void Update() { if (togglePOV.Value.IsDown()) { if (studio == null || cc == null) { studio = Singleton <Studio.Studio> .Instance; if (studio == null) { return; } cc = studio.cameraCtrl; if (cc == null) { return; } } if (!toggle) { StartPOV(); } else { StopPOV(); } } if (!toggle) { return; } if (chara == null) { StopPOV(); return; } if (Input.GetKey(KeyCode.Mouse0)) { var x = Input.GetAxis("Mouse X") * sensitivity.Value; var y = -Input.GetAxis("Mouse Y") * sensitivity.Value; viewRotation += new Vector3(y, x, 0f); } StartCoroutine(ApplyPOV()); }
private static bool Studio_LoadScene(Studio.Studio __instance, string _path, ref bool __result, ref BackgroundCtrl ___m_BackgroundCtrl, ref Studio.CameraControl ___m_CameraCtrl) { if (IsStudio) { return(true); } if (!File.Exists(_path)) { __result = false; return(false); } __instance.InitScene(false); var sceneInfo = new SceneInfo(); Traverse.Create(__instance).Property("sceneInfo").SetValue(sceneInfo); if (!sceneInfo.Load(_path)) { __result = false; return(false); } LoadingScene = true; AddObjectAssist.LoadChild(sceneInfo.dicObject); ChangeAmount source = sceneInfo.caMap.Clone(); __instance.AddMap(sceneInfo.map, false, false); sceneInfo.caMap.Copy(source); Singleton <MapCtrl> .Instance.Reflect(); __instance.bgmCtrl.Play(__instance.bgmCtrl.no); __instance.envCtrl.Play(__instance.envCtrl.no); __instance.outsideSoundCtrl.Play(__instance.outsideSoundCtrl.fileName); //Add the component if it doesn't exist if (___m_BackgroundCtrl == null) { ___m_BackgroundCtrl = Camera.main.gameObject.AddComponent <BackgroundCtrl>(); } __instance.treeNodeCtrl.RefreshHierachy(); if (sceneInfo.cameraSaveData != null) { ___m_CameraCtrl.Import(sceneInfo.cameraSaveData); } __instance.cameraLightCtrl.Reflect(); sceneInfo.dataVersion = sceneInfo.version; LoadingScene = false; __result = true; return(false); }
private static bool Studio_Awake(Studio.Studio __instance, ref Control ___xmlCtrl) { if (IsStudio) { return(true); } //if (CheckInstance()) DontDestroyOnLoad(__instance.gameObject); Traverse.Create(__instance).Property("optionSystem").SetValue(new OptionSystem("Option")); ___xmlCtrl = new Control("studio", "option.xml", "Option", Studio.Studio.optionSystem); __instance.LoadOption(); return(false); }
private static bool Studio_AddLight(Studio.Studio __instance, int _no) { if (IsStudio) { return(true); } if (!__instance.sceneInfo.isLightCheck) { return(true); } AddObjectLight.Add(_no); Singleton <UndoRedoManager> .Instance.Clear(); return(false); }
static bool Studio_AddLight_Prefix(Studio.Studio __instance, int _no) { var instance = Traverse.Create(__instance); OCILight ocilight = Studio.AddObjectLight.Add(_no); Singleton <UndoRedoManager> .Instance.Clear(); if (Studio.Studio.optionSystem.autoHide) { RootButtonCtrl ctrl = instance.Property <RootButtonCtrl>("rootButtonCtrl").Value; ctrl.OnClick(-1); } if (Studio.Studio.optionSystem.autoSelect && ocilight != null) { TreeNodeCtrl ctrl = instance.Field("m_TreeNodeCtrl").GetValue <TreeNodeCtrl>(); ctrl.SelectSingle(ocilight.treeNodeObject, true); } Graphics.Instance?.LightManager?.Light(); return(false); }
public static void Postfix(Studio.Studio __instance) { foreach (KeyValuePair <int, int> pair in SceneInfo_Import_Patches._newToOldKeys) { ObjectCtrlInfo source; if (__instance.dicObjectCtrl.TryGetValue(pair.Value, out source) == false) { continue; } ObjectCtrlInfo destination; if (__instance.dicObjectCtrl.TryGetValue(pair.Key, out destination) == false) { continue; } if (source is OCIChar && destination is OCIChar || source is OCIItem && destination is OCIItem) { PHPE._self.OnDuplicate(source, destination); } } }
private static bool Studio_Init(Studio.Studio __instance, ref InputField ____inputFieldNow, ref TMP_InputField ____inputFieldTMPNow) { if (IsStudio) { return(true); } Traverse.Create(__instance).Property("sceneInfo").SetValue(new SceneInfo()); __instance.cameraLightCtrl.Init(); ____inputFieldNow = null; ____inputFieldTMPNow = null; TreeNodeCtrl treeNodeCtrl = __instance.treeNodeCtrl; treeNodeCtrl.onDelete = (Action <TreeNodeObject>)Delegate.Combine(treeNodeCtrl.onDelete, new Action <TreeNodeObject>(__instance.OnDeleteNode)); TreeNodeCtrl treeNodeCtrl2 = __instance.treeNodeCtrl; treeNodeCtrl2.onParentage = (Action <TreeNodeObject, TreeNodeObject>)Delegate.Combine(treeNodeCtrl2.onParentage, new Action <TreeNodeObject, TreeNodeObject>(__instance.OnParentage)); return(false); }
// Token: 0x06000009 RID: 9 RVA: 0x000022C0 File Offset: 0x000004C0 public static void OnLoad(XmlElement rootElement) { Studio.Studio instance = Singleton <Studio.Studio> .Instance; List <OCIChar> list = new List <OCIChar>(); foreach (KeyValuePair <int, ObjectCtrlInfo> keyValuePair in from e in instance.dicObjectCtrl orderby e.Key select e) { if (keyValuePair.Value is OCIChar) { list.Add(keyValuePair.Value as OCIChar); } } foreach (object obj in rootElement.ChildNodes) { XmlElement xmlElement = (XmlElement)obj; if (xmlElement.Name == "VMDCharaData") { int num = int.Parse(xmlElement.GetAttribute("dicKey")); ObjectCtrlInfo objectCtrlInfo = null; instance.dicObjectCtrl.TryGetValue(num, out objectCtrlInfo); if (objectCtrlInfo == null) { Logger.Log(LogLevel.Error, string.Format("Character not found. dicKey: {0}", num)); } else if (objectCtrlInfo is OCIChar) { KKVMDPlayExtSavePlugin.saveLoadForChara.LoadVMDAnimInfo(xmlElement, objectCtrlInfo); } } else if (xmlElement.Name == "VMDSceneData") { KKVMDPlayExtSavePlugin.saveLoadForScene.LoadVMDSceneDataInfo(xmlElement); } else { Logger.Log(LogLevel.Error, string.Format("Unknown Tag found. Load data {0}", KKVMDPlayExtSavePlugin.ToString(xmlElement))); } } }
//public static HSNeoOCI create_from(ObjectCtrlInfo objctrl) { return new HSNeoOCI(objctrl); } public static NeoOCI create_from_treenode(TreeNodeObject treenode) { if (treenode == null) { return(null); } Studio.Studio studio = Studio.Studio.Instance; var dobjctrl = studio.dicInfo; ObjectCtrlInfo obj = dobjctrl[treenode]; if (obj != null) { if (obj is OCIItem item) { return(create_from(item)); } else if (obj is OCIFolder fld) { return(create_from(fld)); } else if (obj is OCIChar chara) { return(create_from(chara)); } else if (obj is OCIRoute route) { return(create_from(route)); } else if (obj is OCILight light) { return(create_from(light)); } else { return(null); } } return(null); }
new public VNCamera.CamData get_camera_num(int camnum) { Studio.CameraControl.CameraData cdata; Studio.Studio studio = this.studio; SceneInfo si = studio.sceneInfo; Studio.CameraControl.CameraData[] cdatas = si.cameraData; if (camnum == 0) { // 0 camera is current camera. It may be interested due to some reasons var c = studio.cameraCtrl; cdata = cameraData; } else { cdata = cdatas[camnum - 1]; } var camobj = new CamData(cdata.pos, cdata.rotate, cdata.distance, cdata.parse); //print camobj return(camobj); }
public static List <Folder> find_all_startswith(string name) { Studio.Studio studio = Studio.Studio.Instance; List <Folder> ar = new List <Folder>(); Dictionary <TreeNodeObject, ObjectCtrlInfo> dobjctrl = studio.dicInfo; foreach (TreeNodeObject key in dobjctrl.Keys) { // key is TreeNodeObject ObjectCtrlInfo objctrl = dobjctrl[key]; if (objctrl is OCIFolder folder) { string txt = folder.name; if (txt.StartsWith(name)) { ar.Add(new Folder(folder)); // this will process for all folders we found } } } return(ar); }
public void delete() { Studio.Studio studio = Studio.Studio.Instance; studio.treeNodeCtrl.DeleteNode(this.treeNodeObject); }
public void set_parent_treenodeobject(TreeNodeObject parentTreeNode) { Studio.Studio studio = Studio.Studio.Instance; studio.treeNodeCtrl.SetParent(this.treeNodeObject, parentTreeNode); }
public static NeoOCI create_from_selected() { Studio.Studio studio = Studio.Studio.Instance; return(NeoOCI.create_from_treenode(studio.treeNodeCtrl.selectNode)); }