public void Initialize(SaberManager saberManager) { _sabers.Clear(); Init(saberManager); _sabers.Add(_leftSaber); _sabers.Add(_rightSaber); }
public void Initialize(SaberManager saberManager) { if (!_initted) { base.Start(); for (int i = 0; i < 2; i++) { if (_sabers[i]) { var saberBurnDatum = new SaberBurnDatum { saber = _sabers[i], lineRenderer = _lineRenderers[i], renderTexture = _renderTextures[i], prevBurnMarkPos = _prevBurnMarkPos[i], prevBurnMarkPosValid = _prevBurnMarkPosValid[i] }; _saberBurnData.Add(saberBurnDatum); } } _initted = true; } _sabers = new Saber[2]; _sabers[0] = saberManager.leftSaber; _sabers[1] = saberManager.rightSaber; _saberBurnData[0].saber = _sabers[0]; _saberBurnData[1].saber = _sabers[1]; }
private void Awake() { this.saberManager = MultiplayerLocalActivePlayerGameplayManagerPatch.multiplayerSaberManager ?? FindObjectOfType <SaberManager>(); this.playerOrigin = GameObject.Find("LocalPlayerGameCore/Origin"); this.leftController = InputDevices.GetDeviceAtXRNode(XRNode.LeftHand); this.rightController = InputDevices.GetDeviceAtXRNode(XRNode.RightHand); }
private static void Postfix(MultiplayerLocalActivePlayerGameplayManager __instance, SaberManager ____saberManager) { multiplayerSaberManager = ____saberManager; #if DEBUG AlternativePlay.Logger.Notice($"SaberManager Set in MultiplayerLocalActivePlayerGameplayManager"); #endif }
private SaberControllerBearer(SaberManager saberManager, PlayerVRControllersManager playerVrControllersManager) { _left = new SaberControllerPackage(saberManager.leftSaber, playerVrControllersManager.GetField <VRController, PlayerVRControllersManager>("_leftHandVRController")); _right = new SaberControllerPackage(saberManager.rightSaber, playerVrControllersManager.GetField <VRController, PlayerVRControllersManager>("_rightHandVRController")); }
public void Initialize(SaberManager saberManager) { Run(); _sabers = new Saber[2]; _sabers[0] = saberManager.leftSaber; _sabers[1] = saberManager.rightSaber; _saberBurnData[0].saber = _sabers[0]; _saberBurnData[1].saber = _sabers[1]; }
private void MultiplayerLocalActivePlayerGameplayManagerHasStarted(MultiplayerLocalActivePlayerGameplayManager multiplayerLocalActivePlayerGameplayManager) { patch.MultiplayerLocalActivePlayerGameplayManagerHasStarted -= MultiplayerLocalActivePlayerGameplayManagerHasStarted; SaberManager saberManager = Accessors.SaberManagerAccessor(ref multiplayerLocalActivePlayerGameplayManager); leftController = saberManager?.leftSaber.GetComponentInParent <VRController>(); rightController = saberManager?.rightSaber.GetComponentInParent <VRController>(); leftController.node = UnityEngine.XR.XRNode.RightHand; rightController.node = UnityEngine.XR.XRNode.LeftHand; }
internal static void setupStuff() { SpawnController = Resources.FindObjectsOfTypeAll <BeatmapObjectSpawnController>().FirstOrDefault(); PauseManager = Resources.FindObjectsOfTypeAll <StandardLevelGameplayManager>().FirstOrDefault(); PlayerController = Resources.FindObjectsOfTypeAll <PlayerController>().FirstOrDefault(); SaberManager = PlayerController.GetField("_saberManager") as SaberManager; leftSaber = SaberManager.GetPrivateField <Saber>("_leftSaber") as Saber; rightSaber = SaberManager.GetPrivateField <Saber>("_rightSaber") as Saber; }
internal static void ResetHell() { SpawnController.noteWasMissedEvent -= MissHell_noteWasMissedEvent; SpawnController.noteWasCutEvent -= MissHell_noteWasCutEvent; SpawnController = null; PauseManager = null; SaberManager = null; PlayerController.transform.position = StartPosition; }
private void Awake() { if (MultiplayerLocalActivePlayerGameplayManagerPatch.multiplayerSaberManager) { this.saberManager = MultiplayerLocalActivePlayerGameplayManagerPatch.multiplayerSaberManager; } else { this.saberManager = FindObjectOfType <SaberManager>(); } }
public void Inject( ColorManager colorManager, ColorScheme colorScheme, SaberManager saberManager, BasicBeatmapObjectManager beatmapObjectManager ) { this.colorManager = colorManager; this.colorScheme = colorScheme; this.saberManager = saberManager; this.beatmapObjectManager = beatmapObjectManager; }
private void Awake() { this.saberManager = FindObjectOfType <SaberManager>(); this.useLeftHandForward = !Configuration.instance.ConfigurationData.UseLeftSpear; var pauseAnimationController = FindObjectOfType <PauseAnimationController>(); if (pauseAnimationController != null) { pauseAnimationController.resumeFromPauseAnimationDidFinishEvent += this.ResumeFromPauseAnimationDidFinishEvent; } }
public SiraSaberEffectManager(IGamePause gamePause, SaberManager saberManager, SaberClashChecker saberClashChecker, SaberBurnMarkArea saberBurnMarkArea, SaberBurnMarkSparkles saberBurnMarkSparkles, ObstacleSaberSparkleEffectManager obstacleSaberSparkleEffectManager) { _gamePause = gamePause; saberClashChecker.Init(saberManager); _saberManagers.Add(saberClashChecker as SiraSaberClashChecker); _saberManagers.Add(saberBurnMarkArea as SiraSaberBurnMarkArea); _saberManagers.Add(saberBurnMarkSparkles as SiraSaberBurnMarkSparkles); _saberManagers.Add(obstacleSaberSparkleEffectManager as SiraObstacleSaberSparkleEffectManager); _siraSaberClashChecker = saberClashChecker as SiraSaberClashChecker; }
private void Awake() { this.saberManager = FindObjectOfType <SaberManager>(); this.mainSettingsModel = Resources.FindObjectsOfTypeAll <MainSettingsModelSO>().FirstOrDefault(); this.previousForwardHand = Configuration.instance.ConfigurationData.UseLeftSpear ? this.rightController : this.leftController; var pauseAnimationController = UnityEngine.Object.FindObjectOfType <PauseAnimationController>(); if (pauseAnimationController != null) { pauseAnimationController.resumeFromPauseAnimationDidFinishEvent += this.ResumeFromPauseAnimationDidFinishEvent; } }
internal SiraSaberEffectManager([InjectOptional] IGamePause gamePause, SaberManager saberManager, SaberClashChecker saberClashChecker, SaberBurnMarkArea saberBurnMarkArea, SaberBurnMarkSparkles saberBurnMarkSparkles, ObstacleSaberSparkleEffectManager obstacleSaberSparkleEffectManager) { _gamePause = gamePause; _saberManager = saberManager; saberClashChecker.Init(saberManager); _saberManagers.Add(saberClashChecker as SiraSaberClashChecker); _saberManagers.Add(saberBurnMarkArea as SiraSaberBurnMarkArea); _saberManagers.Add(saberBurnMarkSparkles as SiraSaberBurnMarkSparkles); _saberManagers.Add(obstacleSaberSparkleEffectManager as SiraObstacleSaberSparkleEffectManager); _siraSaberClashChecker = saberClashChecker as SiraSaberClashChecker; _siraObstacleSaberSparkleEffectManager = obstacleSaberSparkleEffectManager as SiraObstacleSaberSparkleEffectManager; }
private void FindSabers() { Plugin.Log.Debug("Looking for sabers..."); try { saberManager = Resources.FindObjectsOfTypeAll <SaberManager>().FirstOrDefault(); rSaber = saberManager.rightSaber; lSaber = saberManager.leftSaber; } catch (Exception exception) { CriticalErrorHandler(true, 324, exception); } Plugin.Log.Debug("Success! Found sabers."); }
private void Awake() { if (MultiplayerLocalActivePlayerGameplayManagerPatch.multiplayerSaberManager) { this.saberManager = MultiplayerLocalActivePlayerGameplayManagerPatch.multiplayerSaberManager; } else { this.saberManager = FindObjectOfType <SaberManager>(); } this.useLeftHandForward = !Configuration.instance.ConfigurationData.UseLeftSpear; var pauseAnimationController = FindObjectOfType <PauseAnimationController>(); if (pauseAnimationController != null) { pauseAnimationController.resumeFromPauseAnimationDidFinishEvent += this.ResumeFromPauseAnimationDidFinishEvent; } }
private static void Postfix(SaberManager __instance, ref Saber ____leftSaber, ref Saber ____rightSaber) { if (!Config.Instance.IsEnabled) { return; } // BoxCollider[] saberColliders = { ____leftSaber.GetComponent<BoxCollider>(), ____rightSaber.GetComponent<BoxCollider>() }; Saber[] sabers = { ____leftSaber, ____rightSaber }; foreach (Saber saber in sabers) { GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube); cube.name = "VisibleSaberCollider"; cube.transform.SetParent(saber.transform, false); cube.transform.localPosition = new Vector3(0, 0, 0.5f); cube.transform.localScale = new Vector3(0.06f, 0.06f, 1); cube.GetComponent <MeshRenderer>().material = Plugin.hitboxMaterial; } //BoxCollider leftCollider = ____leftSaber.GetComponent<BoxCollider>(); //GameObject leftCube = GameObject.CreatePrimitive(PrimitiveType.Cube); //leftCube.name = "VisibleSaberCollider"; //leftCube.transform.SetParent(leftCollider.transform, false); //leftCube.transform.localPosition = new Vector3(0, 0, 0.5f); //leftCube.transform.localScale = new Vector3(0.06f, 0.06f, 1); //leftCube.GetComponent<MeshRenderer>().material = Plugin.hitboxMaterial; //BoxCollider rightCollider = ____rightSaber.GetComponent<BoxCollider>(); //GameObject rightCube = GameObject.CreatePrimitive(PrimitiveType.Cube); //rightCube.name = "VisibleSaberCollider"; //rightCube.transform.SetParent(rightCollider.transform, false); //rightCube.transform.localPosition = new Vector3(0, 0, 0.5f); //rightCube.transform.localScale = new Vector3(0.06f, 0.06f, 1); //rightCube.GetComponent<MeshRenderer>().material = Plugin.hitboxMaterial; }
public ControllerOffsetPresetsModalController([InjectOptional] SaberManager saberManager, [InjectOptional] MainSettingsMenuViewController mainSettingsMenuViewController) { if (saberManager != null) { VRController leftController = saberManager.leftSaber.GetComponentInParent <VRController>(); VRControllersValueSOOffsets vrControllerTransformOffset = (VRControllersValueSOOffsets)Accessors.VRControllerTransformOffsetAccessor(ref leftController); positionOffset = Accessors.PositionOffsetAccessor(ref vrControllerTransformOffset); rotationOffset = Accessors.RotationOffsetAccessor(ref vrControllerTransformOffset); } else if (mainSettingsMenuViewController != null) { SettingsSubMenuInfo[] settingsSubMenuInfos = Accessors.SettingsSubMenuInfoAccessor(ref mainSettingsMenuViewController); foreach (var settingSubMenuInfo in settingsSubMenuInfos) { if (settingSubMenuInfo.viewController is ControllersTransformSettingsViewController controllersTransformSettingsViewController) { positionOffset = Accessors.ControllerPositionAccessor(ref controllersTransformSettingsViewController); rotationOffset = Accessors.ControllerRotationAccessor(ref controllersTransformSettingsViewController); break; } } } }
internal static void SetupHell() { TrackingError = false; SpawnController = Resources.FindObjectsOfTypeAll <BeatmapObjectSpawnController>().FirstOrDefault(); PauseManager = Resources.FindObjectsOfTypeAll <StandardLevelGameplayManager>().FirstOrDefault(); PlayerController = Resources.FindObjectsOfTypeAll <PlayerController>().FirstOrDefault(); SaberManager = PlayerController.GetField("_saberManager") as SaberManager; leftSaber = SaberManager.GetPrivateField <Saber>("_leftSaber") as Saber; rightSaber = SaberManager.GetPrivateField <Saber>("_rightSaber") as Saber; if (SpawnController) { SpawnController.noteWasMissedEvent += MissHell_noteWasMissedEvent; SpawnController.noteWasCutEvent += MissHell_noteWasCutEvent; } StartPosition = PlayerController.transform.position; timer = new Timer(3000); timer.Elapsed += Timer_Elapsed; }
IEnumerator WaitForLoad() { while (!loaded) { var playerHeadAndObstacleInteraction = Resources.FindObjectsOfTypeAll <ScoreController>().FirstOrDefault()?.GetField <PlayerHeadAndObstacleInteraction, ScoreController>("_playerHeadAndObstacleInteraction"); beatmapObjectManager = playerHeadAndObstacleInteraction?.GetField <BeatmapObjectManager, PlayerHeadAndObstacleInteraction>("_beatmapObjectManager"); saberManager = Resources.FindObjectsOfTypeAll <SaberManager>().FirstOrDefault(); if (beatmapObjectManager == null || saberManager == null) { yield return(new WaitForSeconds(0.1f)); } else { loaded = true; } } yield return(new WaitForSeconds(0.1f)); sabers = new Saber[2]; sabers[0] = saberManager.leftSaber; sabers[1] = saberManager.rightSaber; }
static void Postfix( NoteJump __instance, ref Vector3 __result, AudioTimeSyncController ____audioTimeSyncController, float ____beatTime, float ____jumpDuration, Vector3 ____localPosition, Vector3 ____startPos, Vector3 ____endPos, Quaternion ____worldRotation, Quaternion ____middleRotation, Transform ____rotatedObject) { if (Config.parabola) { float time = ____audioTimeSyncController.songTime - ____beatTime + ____jumpDuration * 0.5f; float amount = time / ____jumpDuration; float amountHalf = amount - 0.25f; ____localPosition.y = ____localPosition.y - 60f * (amountHalf * amountHalf - 0.0625f); //____localPosition.z = playerController.MoveTowardsHead(____startPos.z, ____endPos.z, ____inverseWorldRotation, num2); ____localPosition.z = Mathf.Lerp(____startPos.z, ____endPos.z, amount); __result = ____worldRotation * ____localPosition; __instance.transform.position = __result; } if (Config.centering) { float time = ____audioTimeSyncController.songTime - ____beatTime + ____jumpDuration * 0.5f; float amount = time / ____jumpDuration; ____localPosition.y = Mathf.Lerp(____localPosition.y, ____localPosition.y / 2f + Config.centeringBaseY, Mathf.Clamp01(amount * 10f)); __result = ____worldRotation * ____localPosition; __instance.transform.position = __result; } //if (tick++ % 9 == 0) Logger.log.Debug($"NoteJumpManualUpdate: num2={num2}, __result={__result}, ____startPos={____startPos}, ____endPos={____endPos}"); if (Config.vacuum) { if (_saberManager == null) { _saberManager = Object.FindObjectsOfType <SaberManager>().FirstOrDefault(); } if (_saberManager != null) { float time = ____audioTimeSyncController.songTime - ____beatTime + ____jumpDuration * 0.5f; float amount = time / ____jumpDuration; amount = Mathf.Clamp01(amount * 2); if (amount > 0.7f) { Vector3 endPos = _saberManager.rightSaber.saberBladeTopPos; float t = (amount - 0.5f) * 2; t = t * t * t * t; ____localPosition.x = Mathf.Lerp(____localPosition.x, endPos.x, t); ____localPosition.y = Mathf.Lerp(____localPosition.y, endPos.y, t); __result = ____worldRotation * ____localPosition; __instance.transform.position = __result; } } } if (Config.feet) { ____localPosition.y = Config.feetNotesY; __result = ____worldRotation * ____localPosition; __instance.transform.position = __result; Transform noteCube = __instance.transform.Find("NoteCube"); if (noteCube != null) { foreach (Transform noteCubeChild in noteCube) { if (noteCubeChild.name.StartsWith("customNote")) { foreach (Transform noteCubeGrandChild in noteCubeChild) { if (noteCubeGrandChild.name.StartsWith("Feet")) { noteCubeGrandChild.rotation = ____middleRotation; } } } } } } if (Config.topNotesToFeet || Config.middleNotesToFeet || Config.bottomNotesToFeet) { if (____startPos.y == Config.feetNotesY) { ____localPosition.y = Config.feetNotesY; __result = ____worldRotation * ____localPosition; __instance.transform.position = __result; } } }
private void Awake() { this.saberManager = FindObjectOfType <SaberManager>(); }
public ControllerOffsetPauseViewController([InjectOptional] GameplayCoreSceneSetupData gameplayCoreSceneSetupData, PauseMenuManager pauseMenuManager, SaberManager saberManager, ControllerOffsetPresetsModalController controllerOffsetPresetsModalController, ControllerOffsetSettingsModalController controllerOffsetSettingsModalController) : base(controllerOffsetPresetsModalController, controllerOffsetSettingsModalController) { if (gameplayCoreSceneSetupData == null || gameplayCoreSceneSetupData?.practiceSettings == null) { practiceMode = false; return; } practiceMode = true; this.pauseMenuManager = pauseMenuManager; VRController leftController = saberManager?.leftSaber.GetComponentInParent <VRController>(); VRControllersValueSOOffsets vrControllerTransformOffset = (VRControllersValueSOOffsets)Accessors.VRControllerTransformOffsetAccessor(ref leftController); positionOffset = Accessors.PositionOffsetAccessor(ref vrControllerTransformOffset); rotationOffset = Accessors.RotationOffsetAccessor(ref vrControllerTransformOffset); }
/// <summary> /// Replaces the references of each saber to a new set of sabers for all effect systems. /// </summary> /// <param name="left"></param> /// <param name="right"></param> /// <param name="saberManager"></param> public void RepatchDefault(Saber left, Saber right, SaberManager saberManager) { Accessors.SMLeftSaber(ref saberManager) = left; Accessors.SMRightSaber(ref saberManager) = right; _saberManagers.ForEach(x => x.Initialize(saberManager)); }
/// <summary> /// The initialization method. /// </summary> /// <param name="saberManager">The saber manager used to gather saber references.</param> public void Initialize(SaberManager saberManager) { }
private void Inject(SaberManager saberManager, ColorManager colorManager, Settings settings) { _saberManager = saberManager; _colorManager = colorManager; _settings = settings; }
private void Inject(SaberManager saberManager, ColorManager colorManager) { _saberManager = saberManager; _colorManager = colorManager; }
private static void Prefix() { multiplayerSaberManager = null; }
private void Awake() { this.saberManager = FindObjectOfType <SaberManager>(); this.mainSettingsModel = Resources.FindObjectsOfTypeAll <MainSettingsModelSO>().FirstOrDefault(); }