Ejemplo n.º 1
0
 public StateTick(AnalogEntity root, AnalogEntity segment, time_t pos, JudgeState state)
 {
     RootEntity    = root;
     SegmentEntity = segment;
     Position      = pos;
     State         = state;
 }
Ejemplo n.º 2
0
        public void Bake()
        {
            // 1 beat transition to anticipation, 1 beat hold anticipation
            // half measure reset

            AnalogEntity current = m_objects.First as AnalogEntity;

            while (current != null)
            {
                bool isTail = current.NextConnected == null;

                bool isSlam      = current.IsInstant;
                bool prevWasSlam = current.PreviousConnected?.IsInstant ?? false;

                if (isSlam)
                {
                    float  magnitude     = MathL.Abs(current.FinalValue - current.InitialValue);
                    time_t maxDistToNext = 0;

                    m_points.Add(new Point(current.AbsolutePosition, current.InitialValue, current.Shape));
                    m_points.Add(new Point(current.AbsolutePosition, current.FinalValue, current.Shape));
                }
                else
                {
                    if (!prevWasSlam)
                    {
                        m_points.Add(new Point(current.AbsolutePosition, current.InitialValue, current.Shape));
                    }

                    if (isTail)
                    {
                        m_points.Add(new Point(current.AbsoluteEndPosition, current.FinalValue, current.Shape));
                    }
                }

                current = current.Next as AnalogEntity;
            }
        }
Ejemplo n.º 3
0
 public ScoreTick(AnalogEntity entity, time_t pos, TickKind kind)
 {
     Entity   = entity;
     Position = pos;
     Kind     = kind;
 }