Пример #1
0
 public void Add(AirAction airAction)
 {
     if (!IsPositionTickAvailable(airAction, airAction.Position))
     {
         Status.SelectedNote = null;
         return;
     }
     base.Add(airAction);
     airAction.CheckNotePosition   += CheckNotePosition;
     airAction.IsPositionAvailable += IsPositionTickAvailable;
     CheckNotePosition(airAction, 0);
     CheckNoteSize(airAction);
     return;
 }
Пример #2
0
        public AirHold(AirHold ah)
        {
            ah.ForEach(x =>
            {
                switch (x)
                {
                case AirHoldBegin airHoldBegin:
                    {
                        var note = new AirHoldBegin(airHoldBegin);
                        Add(note);
                        note.CheckNotePosition += CheckNotePosition;
                        note.CheckNoteSize     += CheckNoteSize;
                    }
                    break;

                case AirHoldEnd airHoldEnd:
                    {
                        var note = new AirHoldEnd(airHoldEnd);
                        Add(note);
                        note.CheckNotePosition   += CheckNotePosition;
                        note.IsPositionAvailable += IsPositionTickAvailable;
                    }
                    break;

                case AirAction airAction:
                    {
                        var note = new AirAction(airAction);
                        base.Add(note);
                        note.CheckNotePosition   += CheckNotePosition;
                        note.IsPositionAvailable += IsPositionTickAvailable;
                    }
                    break;

                default:
                    Logger.Warn("AirHoldの要素ではないノーツです");
                    break;
                }
            });
        }