public static void Load() { try { Log.Info("LifeCycle.Load() called"); Log.Info("testing stack trace:\n" + Environment.StackTrace, false); NetworkExtensionManager.Instance.OnLoad(); Log.Info($"Scene={Scene} LoadMode={Mode}"); if (Scene != "AssetEditor") { Log.Info("Applying in game patches"); HarmonyUtil.InstallHarmony <InGamePatchAttribute>(HARMONY_ID); } else { Log.Info("Applying all patches"); HarmonyUtil.InstallHarmony(HARMONY_ID, forbidden: typeof(PreloadPatchAttribute)); HintBox.Create(); } NetInfoExtionsion.Ensure_EditedNetInfos(); ObserverDisposable = GeometryManager.Instance.Subscribe(new ARTMPEObsever()); ARTool.Create(); Log.Info("LifeCycle.Load() successfull!"); Log.Flush(); } catch (Exception ex) { Log.Exception(ex); throw ex; } }
public static void Unload() { LogCalled(); ARTool.Release(); ObserverDisposable?.Dispose(); HintBox.Release(); HarmonyUtil.UninstallHarmony(HARMONY_ID); NetworkExtensionManager.RawInstance?.OnUnload(); }
void Awake() { FixedRatio = 1; foreach (ClickBox cb in HideButtons) { cb.AddEventListener("onclick", () => { Mode = ARTool.Hidden; RunEvent("onhide"); }); } // ARLoader.ToolPanel = this; }
public static void Unload() { try { LogCalled(); UI.Debug.PWSelector.Release(); UI.Debug.PWModifier.Release(); ARTool.Release(); ObserverDisposable?.Dispose(); HintBox.Release(); HarmonyUtil.UninstallHarmony(HARMONY_ID); NetworkExtensionManager.RawInstance?.OnUnload(); }catch (Exception ex) { Log.Exception(ex); } }
void LateUpdate() { if (theta < 0) { if (lastMode != Mode) { if (lastMode == ARTool.Hidden) { theta = Mathf.PI / 2; } else { theta = 0; } } } else { float a = 1 - Mathf.Sin(theta); theta += TransistionSpeed; if (theta > Mathf.PI / 2 && lastMode != Mode) { lastMode = Mode; if (lastMode == ARTool.Hidden) { theta = -1; a = 0; } } if (theta > Mathf.PI) { a = 1; theta = -1; } Canvas.alpha = a; } if (AlignBottom) { if (phi < Mathf.PI) { phi += AlignSpeed; if (phi > Mathf.PI) { phi = Mathf.PI; } } } else { if (phi > 0) { phi -= AlignSpeed; if (phi < 0) { phi = 0; } } } Vector3 pos = transform.localPosition; float yBottom = (Height / 2) + (PaddingVW.left * Screen.width / 100) - (Screen.height / 2); pos.y = yBottom * (1 - Mathf.Cos(phi)) / 2; transform.localPosition = pos; Opacity = 1; GameObject current = null; switch (lastMode) { case ARTool.Loader: current = ARLoader.gameObject; Opacity = 1 - ((float)ARLoader.Progress) / 100; break; case ARTool.ProductInfo: current = ARProductInfo.gameObject; break; case ARTool.Help: current = ARHelp; break; case ARTool.ColorPicker: current = ARColorPicker.gameObject; break; case ARTool.Hidden: Canvas.alpha = 0; break; } foreach (Transform child in transform) { child.gameObject.SetActive(child.gameObject == current); } }