コード例 #1
0
    //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    //	* Overwritten Method: Check Limit
    //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    protected override void CheckLimit()
    {
        if (m_rNotesManager != null && CanSwitchNotes)
        {
            if (!IsValidScale(LocalScale))
            {
                CorrectScaleSize();
                return;
            }

            // Transition to Prev/Next note if Note has gone out of Bounds
            OutOfBoundsIdentity eBoundary = GetOutOfBounds();
            if (eBoundary != OutOfBoundsIdentity.NOT_OUT_OF_BOUNDS)
            {
                if (eBoundary == OutOfBoundsIdentity.EAST && m_rNotesManager.HasPreviousNote && LocalPosition.x > EasternBoundary * 1.25f)
                {
                    m_rNotesManager.Disappear(MultipleNotesManager.TransitioningNote.PREVIOUS_NOTE);
                }
                else if (eBoundary == OutOfBoundsIdentity.WEST && m_rNotesManager.HasNextNote && LocalPosition.x < WesternBoundary * 1.25f)
                {
                    m_rNotesManager.Disappear(MultipleNotesManager.TransitioningNote.NEXT_NOTE);
                }
                else
                {
                    CorrectMovementPosition();
                }
            }
        }
        else
        {
            base.CheckLimit();
        }
    }
    public void PlayThroughRhythmList(Playlist ePlaylist, MultipleNotesManager rOwningSheetMusic, float fDelayTime = 0.0f)
    {
        // Assign and then close down the Sheet Music
        m_rOwningSheetMusicNote = rOwningSheetMusic;
        if (rOwningSheetMusic != null)
        {
            rOwningSheetMusic.Disappear(false);
        }

        m_bIsInvoked        = true;
        m_eSelectedPlaylist = ePlaylist;
        m_fStartDelayTime   = fDelayTime;
    }
 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 //	* Derived Method: On Trigger
 //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 protected override void OnTrigger()
 {
     base.OnTrigger();
     m_rMultipleNotesManager.Disappear(m_eTransitioningNote);
 }