Exemplo n.º 1
0
 private void OnNoteCut(INoteController data, NoteCutInfo info)
 {
     if (!info.allIsOK && data.noteData.noteType != NoteType.Bomb)
     {
         IncrementCounter();
     }
 }
Exemplo n.º 2
0
 private void OnNoteCut(INoteController data, NoteCutInfo info)
 {
     if (data.noteData.noteType != NoteType.Bomb)
     {
         DecrementCounter();
     }
 }
Exemplo n.º 3
0
 private void OnNoteMiss(INoteController data)
 {
     if (data.noteData.noteType != NoteType.Bomb)
     {
         Increment(false);
     }
 }
Exemplo n.º 4
0
 private void NoteWasCutEvent(INoteController data, NoteCutInfo noteCutInfo)
 {
     foreach (INoteEventHandler noteEventHandler in EventHandlers)
     {
         noteEventHandler?.OnNoteCut(data.noteData, noteCutInfo);
     }
 }
Exemplo n.º 5
0
 private void OnNoteCut(INoteController data, NoteCutInfo info)
 {
     if (data.noteData.noteType != NoteType.Bomb)
     {
         _totalNotes++;
     }
 }
Exemplo n.º 6
0
 private void NoteWasMissedEvent(INoteController data)
 {
     foreach (INoteEventHandler noteEventHandler in EventHandlers)
     {
         noteEventHandler?.OnNoteMiss(data.noteData);
     }
 }
Exemplo n.º 7
0
 private void OnNoteMiss(INoteController data)
 {
     if (data.noteData.noteType != NoteType.Bomb)
     {
         DecrementCounter();
     }
 }
Exemplo n.º 8
0
 private void OnNoteMissed(INoteController data)
 {
     if (data.noteData.noteType != NoteType.Bomb)
     {
         _totalNotes++;
     }
     UpdateCounter();
 }
Exemplo n.º 9
0
        private void beatmapObjectManager_noteWasMissedEvent(INoteController noteController)
        {
            NoteType noteType = noteController.noteData.noteType;

            if (noteType == NoteType.NoteA || noteType == NoteType.NoteB)
            {
                AddEnergy(-gameEnergyCounter.GetField <float>("_missNoteEnergyDrain"));
            }
        }
Exemplo n.º 10
0
 private void UpdateScore(INoteController data, NoteCutInfo info)
 {
     if (data.noteData.noteType == NoteType.Bomb || !info.allIsOK)
     {
         return;
     }
     noteCutInfos.Add(info.swingRatingCounter, info);
     info.swingRatingCounter.didFinishEvent -= SaberSwingRatingCounter_didFinishEvent;
     info.swingRatingCounter.didFinishEvent += SaberSwingRatingCounter_didFinishEvent;
 }
Exemplo n.º 11
0
 private void OnNoteCut(INoteController data, NoteCutInfo info)
 {
     if (data.noteData.noteType != NoteType.Bomb && info.allIsOK)
     {
         Increment(true);
     }
     else
     {
         Increment(false);
     }
 }
Exemplo n.º 12
0
 private void OnNoteMiss(INoteController data)
 {
     if (data.noteData.noteType != NoteType.Bomb)
     {
         IncrementCounter();
         if (settings.CustomMissTextIntegration)
         {
             UpdateCustomMissText();
         }
     }
 }
Exemplo n.º 13
0
        internal static bool GetFakeNote(INoteController noteController)
        {
            if (noteController.noteData is CustomNoteData customNoteData)
            {
                dynamic dynData = customNoteData.customData;
                bool?   fake    = Trees.at(dynData, FAKENOTE);
                if (fake.HasValue && fake.Value)
                {
                    return(false);
                }
            }

            return(true);
        }
        // Do not create a NoteCutSoundEffect for fake notes
#pragma warning disable SA1313 // Parameter names should begin with lower-case letter
        private static bool Prefix(INoteController noteController)
#pragma warning restore SA1313 // Parameter names should begin with lower-case letter
        {
            if (noteController.noteData is CustomNoteData customNoteData)
            {
                dynamic dynData = customNoteData.customData;
                bool?   fake    = Trees.at(dynData, FAKENOTE);
                if (fake.HasValue && fake.Value)
                {
                    return(false);
                }
            }

            return(true);
        }
 private static void ConditionedSpawnFlyingScore(
     FlyingScoreSpawner flyingScoreSpawner,
     NoteCutInfo noteCutInfo,
     int noteLineIndex,
     int multiplier,
     Vector3 pos,
     Quaternion rotation,
     Quaternion inverseRotation,
     Color color,
     INoteController noteController)
 {
     if (FakeNoteHelper.GetFakeNote(noteController))
     {
         flyingScoreSpawner.SpawnFlyingScore(noteCutInfo, noteLineIndex, multiplier, pos, rotation, inverseRotation, color);
     }
 }
Exemplo n.º 16
0
        private void NoteMissCallBack(INoteController noteController)
        {
            if (noteController.noteData.noteType != NoteType.Bomb)
            {
                leftEventManager?.OnComboBreak?.Invoke();
                rightEventManager?.OnComboBreak?.Invoke();
            }

            if (noteController.noteData.id == lastNoteId)
            {
                leftEventManager?.OnLevelEnded?.Invoke();
                rightEventManager?.OnLevelEnded?.Invoke();
            }

            StartCoroutine(CalculateAccuracyAndFireEvents());
        }
Exemplo n.º 17
0
        public NoteWindow(INoteController controller, string id)
        {
            InitializeComponent();
            Id             = id;
            _note          = new NoteController(id, MultiText);
            _noteViewModel = new NoteViewModel(controller, id);
            DataContext    = _noteViewModel;

            SetLuminance(_noteViewModel.Note.Color.Color);

            MultiText.SetValue(Block.LineHeightProperty, 0.1);
            MultiText.Document.Blocks.Clear();
            _note.LoadRichTextBox();

            this.ShowInTaskbar = false;
        }
        private void OnNoteCut(INoteController spawnController, NoteCutInfo info)
        {
            Plugin.log.Notice("Note Cut Event!");
            if (Settings.instance.rainbowMode)
            {
                Settings.arduinoPort.Write("^");
            }

            if (right)
            {
                Settings.arduinoPort.Write("q"); //RightTurnOn
                right = !right;
            }
            else
            {
                Settings.arduinoPort.Write("r"); //LeftTurnOn
                right = !right;
            }
        }
Exemplo n.º 19
0
        private void beatmapObjectManager_noteWasCutEvent(INoteController noteController, NoteCutInfo noteCutInfo)
        {
            NoteType noteType = noteController.noteData.noteType;

            if (noteType != NoteType.Bomb && noteType != NoteType.NoteA && noteType != NoteType.NoteB)
            {
                return;
            }
            if (noteCutInfo.allIsOK)
            {
                AddEnergy(gameEnergyCounter.GetField <float>("_goodNoteEnergyCharge"));
                return;
            }
            if (noteType == NoteType.Bomb)
            {
                AddEnergy(-gameEnergyCounter.GetField <float>("_hitBombEnergyDrain"));
                return;
            }
            AddEnergy(-gameEnergyCounter.GetField <float>("_badNoteEnergyDrain"));
        }
Exemplo n.º 20
0
        private void SliceCallBack(INoteController noteController, NoteCutInfo noteCutInfo)
        {
            if (!noteCutInfo.allIsOK)
            {
                leftEventManager?.OnComboBreak?.Invoke();
                rightEventManager?.OnComboBreak?.Invoke();
                StartCoroutine(CalculateAccuracyAndFireEvents());
            }
            else
            {
                EventManager eventManager = GetEventManagerByType(noteCutInfo.saberType);
                eventManager?.OnSlice?.Invoke();
                noteCutInfo.swingRatingCounter.didFinishEvent += OnSwingRatingCounterFinished;
            }

            if (noteController.noteData.id == lastNoteId)
            {
                leftEventManager?.OnLevelEnded?.Invoke();
                rightEventManager?.OnLevelEnded?.Invoke();
            }
        }
Exemplo n.º 21
0
        private void OnNoteCut(INoteController spawnController, NoteCutInfo info)
        {
            if (!info.allIsOK)
            {
                return;
            }

            Plugin.log.Notice("Note Cut Event!");
            if (Settings.instance.RainbowMode)
            {
                Settings.arduinoPort.Write("E9");
            }

            if (info.saberType == SaberType.SaberA)
            {
                Settings.arduinoPort.Write($"A{LightState.LeftFlashAndLeaveOn.AsNumberString()}"); //LeftTurnOn
            }
            else
            {
                Settings.arduinoPort.Write($"B{LightState.RightFlashAndLeaveOn.AsNumberString()}"); //RightTurnOn
            }
        }
Exemplo n.º 22
0
        private void OnNoteCut(INoteController noteController, NoteCutInfo info)
        {
            NoteData data = noteController.noteData;

            if (ShouldDisplayNote(data, info))
            {
                Vector3          center        = noteController.noteTransform.position;
                Vector3          localCutPoint = info.cutPoint - center;
                NoteCutDirection directionType = data.cutDirection;

                if (TwoNoteMode)
                {
                    int             index           = (int)info.saberType;
                    SliceController sliceController = _sliceControllers[index];
                    sliceController.UpdateSlice(localCutPoint, info.cutNormal, directionType);
                }
                else
                {
                    int             index           = 3 * data.lineIndex + (int)data.noteLineLayer;
                    SliceController sliceController = _sliceControllers[index];

                    Color color = UseCustomNoteColors ? _colorManager.ColorForSaberType(info.saberType) : _defaultColors[(int)info.saberType];
                    sliceController.UpdateBlockColor(color);
                    sliceController.UpdateSlice(localCutPoint, info.cutNormal, directionType);
                }

                if (_logNotesCut)
                {
                    Console.WriteLine($"[CutVisualizer] OnNoteCut -------------------------------");
                    Console.WriteLine($"[CutVisualizer] Center: ({center.x} {center.y})");
                    Console.WriteLine($"[CutVisualizer] Cut Normal: ({info.cutNormal.x} {info.cutNormal.y})");
                    Console.WriteLine($"[CutVisualizer] Cut Point: ({info.cutPoint.x} {info.cutPoint.y})");
                    Console.WriteLine($"[CutVisualizer] Cut Local: ({localCutPoint.x} {localCutPoint.y})");
                }
            }
        }
Exemplo n.º 23
0
 public NoteListViewModel(INoteController controller)
 {
     _controller = controller;
     Notes       = new ObservableCollection <Note>(controller.LoadNotes().GetAwaiter().GetResult());
 }
 private static void ConditionedSpawnFlyingSprite(FlyingSpriteSpawner flyingSpriteSpawner, Vector3 pos, Quaternion rotation, Quaternion inverseRotation, INoteController noteController)
 {
     if (FakeNoteHelper.GetFakeNote(noteController))
     {
         flyingSpriteSpawner.SpawnFlyingSprite(pos, rotation, inverseRotation);
     }
 }
Exemplo n.º 25
0
 public CommandHandler(INoteController noteController)
 {
     _noteController = noteController ?? throw new ArgumentNullException(nameof(noteController));
 }
        private void SliceCallBack(BeatmapObjectSpawnController beatmapObjectSpawnController, INoteController noteController, NoteCutInfo noteCutInfo)
        {
            if (!noteCutInfo.allIsOK)
            {
                leftEventManager?.OnComboBreak?.Invoke();
                rightEventManager?.OnComboBreak?.Invoke();
            }
            else
            {
                EventManager eventManager = GetEventManagerByType(noteCutInfo.saberType);
                eventManager?.OnSlice?.Invoke();
            }

            if (noteController.noteData.id == lastNoteId)
            {
                leftEventManager?.OnLevelEnded?.Invoke();
                rightEventManager?.OnLevelEnded?.Invoke();
            }
        }
Exemplo n.º 27
0
        private void SpawnController_ScaleRemoveCut(BeatmapObjectSpawnController arg1, INoteController controller, NoteCutInfo arg3)
        {
            NoteData  note          = controller.noteData;
            Transform noteTransform = controller.noteTransform;

            //      Log("DESPAWN" + noteTransform.localScale.ToString());
            if (noteTransform.localScale.x != 1)
            {
                noteTransform.localScale = new Vector3(1f, 1f, 1f);
            }
            //          Log("DESPAWN" + noteTransform.localScale.ToString());



            //     if (modifiedNotes[note.id] != null)
            //          note = modifiedNotes[note.id];

            FloatBehavior behavior = noteTransform.gameObject.GetComponent <FloatBehavior>();

            if (behavior != null)
            {
                noteTransform.localPosition = new Vector3(behavior.originalX, behavior.originalY, noteTransform.localPosition.z);
                GameObject.Destroy(behavior);
            }


            if (GMPUI.oneColor)
            {
                if (!defaultRumble)
                {
                    return;
                }
                _noteCutEffectSpawner = UnityEngine.Object.FindObjectOfType <NoteCutEffectSpawner>();
                if (_noteCutEffectSpawner != null)
                {
                    _noteCutHapticEffect = ReflectionUtil.GetPrivateField <NoteCutHapticEffect>(_noteCutEffectSpawner, "_noteCutHapticEffect");
                }
                if (_noteCutHapticEffect != null)
                {
                    _hapticFeedbackController = ReflectionUtil.GetPrivateField <HapticFeedbackController>(_noteCutHapticEffect, "_hapticFeedbackController");
                }
                if (_hapticFeedbackController != null)
                {
                    _RumbleEnabledOneC = ReflectionUtil.GetPrivateField <BoolSO>(_hapticFeedbackController, "_controllersRumbleEnabled");
                }

                if (_RumbleEnabledOneC == null)
                {
                    return;
                }
                Vector3 notePos = controller.noteTransform.position;

                Vector3 leftPos = player.leftSaber.transform.position;
                leftPos += player.leftSaber.transform.forward * 0.5f;
                Vector3 rightPos = player.rightSaber.transform.position;
                rightPos += player.rightSaber.transform.forward * 0.5f;

                float leftDist  = Vector3.Distance(leftPos, notePos);
                float rightDist = Vector3.Distance(rightPos, notePos);
                // Log(leftDist.ToString() + "   " + rightDist.ToString());
                _RumbleEnabledOneC.value = true;
                Saber.SaberType targetType = (leftDist > rightDist) ? Saber.SaberType.SaberB : Saber.SaberType.SaberA;
                if (!(Mathf.Abs(leftDist - rightDist) <= 0.2f))
                {
                    _noteCutHapticEffect.HitNote(targetType);
                }
                else
                {
                    _noteCutHapticEffect.HitNote(Saber.SaberType.SaberA);
                    _noteCutHapticEffect.HitNote(Saber.SaberType.SaberB);
                }
                _RumbleEnabledOneC.value = false;
            }
        }
Exemplo n.º 28
0
        private void SpawnController_ScaleRemoveMiss(BeatmapObjectSpawnController arg1, INoteController controller)
        {
            //         Log(songAudio.time.ToString());
            NoteData  note          = controller.noteData;
            Transform noteTransform = controller.noteTransform;

            //      Log("DESPAWN" + noteTransform.localScale.ToString());
            if (noteTransform?.localScale.x != 1)
            {
                noteTransform.localScale = new Vector3(1f, 1f, 1f);
            }
            //      Log("DESPAWN" + noteTransform.localScale.ToString());
            //        if (modifiedNotes[note.id] != null)
            //           note = modifiedNotes[note.id];
            FloatBehavior behavior = noteTransform?.gameObject.GetComponent <FloatBehavior>();

            if (behavior != null)
            {
                noteTransform.localPosition = new Vector3(behavior.originalX, behavior.originalY, noteTransform.localPosition.z);
                GameObject.Destroy(behavior);
            }
        }
        private void NoteMissCallBack(BeatmapObjectSpawnController beatmapObjectSpawnController, INoteController noteController)
        {
            if (noteController.noteData.noteType != NoteType.Bomb)
            {
                leftEventManager?.OnComboBreak?.Invoke();
                rightEventManager?.OnComboBreak?.Invoke();
            }

            if (noteController.noteData.id == lastNoteId)
            {
                leftEventManager?.OnLevelEnded?.Invoke();
                rightEventManager?.OnLevelEnded?.Invoke();
            }
        }