private static void MovePickerPanelToWorld(On.RoR2.PickupPickerController.orig_OnDisplayBegin orig, PickupPickerController self, NetworkUIPromptController networkUIPromptController, LocalUser localUser, CameraRigController cameraRigController) { orig(self, networkUIPromptController, localUser, cameraRigController); if (self.panelInstance && GetUICamera()) { pickerCanvas = GameObject.Instantiate(pickerCanvasPrefab); pickerCanvas.GetComponent <Canvas>().worldCamera = cachedUICam; pickerCanvas.transform.rotation = Quaternion.Euler(0, cachedUICam.transform.eulerAngles.y, 0); pickerCanvas.transform.position = pickerCanvas.transform.forward * 4; if (ModConfig.InitialRoomscaleValue) { pickerCanvas.transform.Translate(0, ModConfig.PlayerHeight.Value, 0); } RectTransform panelTransform = self.panelInstance.transform as RectTransform; panelTransform.SetParent(pickerCanvas.transform); panelTransform.localPosition = Vector3.zero; panelTransform.localRotation = Quaternion.identity; panelTransform.localScale = Vector3.one; panelTransform.offsetMin = Vector2.zero; panelTransform.offsetMax = Vector2.zero; LeTai.Asset.TranslucentImage.TranslucentImage translucentImage = self.panelInstance.gameObject.GetComponent <LeTai.Asset.TranslucentImage.TranslucentImage>(); if (translucentImage) { translucentImage.enabled = false; } } }
private static void DestroyPickerPanelCanvas(On.RoR2.PickupPickerController.orig_OnDisplayEnd orig, PickupPickerController self, NetworkUIPromptController networkUIPromptController, LocalUser localUser, CameraRigController cameraRigController) { orig(self, networkUIPromptController, localUser, cameraRigController); if (pickerCanvas) { GameObject.Destroy(pickerCanvas); } }