private void ReleaseTarget() { hasTarget = false; m_target = null; At.SetValue((Transform)null, typeof(VideoCamera), VideoCamera.Instance, "m_targetTrans"); At.SetValue(VideoCamera.VideoCamState.NORMAL, typeof(VideoCamera), VideoCamera.Instance, "m_state"); }
private void SetFreeCam(bool active) { At.Call(typeof(VideoCamera), VideoCamera.Instance, "SetCameraActive", null, active); if (active) { At.SetValue(true, typeof(VideoCamera), VideoCamera.Instance, "m_flyMode"); Global.LockCursor(true); } }
private void SetTarget(Character target) { hasTarget = true; m_target = target; RPCManager.Instance.SendUIMessageLocal(m_ownerCharacter, "Spectating " + target.Name); At.SetValue(target.transform, typeof(VideoCamera), VideoCamera.Instance, "m_targetTrans"); At.SetValue(VideoCamera.VideoCamState.FOLLOW_POS, typeof(VideoCamera), VideoCamera.Instance, "m_state"); }
private void MenuMouseFix() { // menu mouse fix bool shouldUpdate = false; if (!lastMenuToggle && showGui) { lastMenuToggle = true; shouldUpdate = true; } else if (lastMenuToggle && !showGui) { lastMenuToggle = false; shouldUpdate = true; } if (shouldUpdate) { Character c = CharacterManager.Instance.GetFirstLocalCharacter(); if (c.CharacterUI.PendingDemoCharSelectionScreen is Panel panel) { if (lastMenuToggle) { panel.Show(); } else { panel.Hide(); } } else if (lastMenuToggle) { GameObject obj = new GameObject(); obj.transform.parent = c.transform; obj.SetActive(true); Panel newPanel = obj.AddComponent <Panel>(); At.SetValue(newPanel, typeof(CharacterUI), c.CharacterUI, "PendingDemoCharSelectionScreen"); newPanel.Show(); } } }