Esempio n. 1
0
        internal virtual void AddEvent(EventType e, EasingType easing, float startTime, float endTime, float[] start, float[] end)
        {
            CommonEvent newCommonEvent;

            if (end == null || end.Length == 0)
            {
                end = start;
            }

            switch (e)
            {
            case EventType.Fade:
                newCommonEvent = new Fade(easing, startTime, endTime, start[0], end[0]);
                break;

            case EventType.Move:
                newCommonEvent = new Move(easing, startTime, endTime, start[0], start[1], end[0], end[1]);
                break;

            case EventType.MoveX:
                newCommonEvent = new MoveX(easing, startTime, endTime, start[0], end[0]);
                break;

            case EventType.MoveY:
                newCommonEvent = new MoveY(easing, startTime, endTime, start[0], end[0]);
                break;

            case EventType.Scale:
                newCommonEvent = new Scale(easing, startTime, endTime, start[0], end[0]);
                break;

            case EventType.Vector:
                newCommonEvent = new Vector(easing, startTime, endTime, start[0], start[1], end[0], end[1]);
                break;

            case EventType.Rotate:
                newCommonEvent = new Rotate(easing, startTime, endTime, start[0], end[0]);
                break;

            case EventType.Color:
                newCommonEvent = new Color(easing, startTime, endTime, start[0], start[1], start[2], end[0], end[1], end[2]);
                break;

            case EventType.Parameter:
                newCommonEvent = new Parameter(easing, startTime, endTime, (ParameterType)(int)start[0]);
                break;

            default:
                throw new ArgumentOutOfRangeException(nameof(e), e, null);
            }

            //List
            //if (sequential)
            //    EventList.AddSorted(newEvent);
            //else
            //    EventList.Add(newEvent);

            //SortedSet
            EventList.Add(newCommonEvent);
        }
Esempio n. 2
0
        internal virtual void AddEvent(EventType e, EasingType easing, float startTime, float endTime, float[] start, float[] end)
        {
            CommonEvent newCommonEvent;

            if (end == null || end.Length == 0)
            {
                end = start;
            }

            if (e == EventTypes.Fade)
            {
                newCommonEvent = new Fade(easing, startTime, endTime, start[0], end[0]);
            }
            else if (e == EventTypes.Move)
            {
                newCommonEvent = new Move(easing, startTime, endTime, start[0], start[1], end[0], end[1]);
            }
            else if (e == EventTypes.MoveX)
            {
                newCommonEvent = new MoveX(easing, startTime, endTime, start[0], end[0]);
            }
            else if (e == EventTypes.MoveY)
            {
                newCommonEvent = new MoveY(easing, startTime, endTime, start[0], end[0]);
            }
            else if (e == EventTypes.Scale)
            {
                newCommonEvent = new Scale(easing, startTime, endTime, start[0], end[0]);
            }
            else if (e == EventTypes.Vector)
            {
                newCommonEvent = new Vector(easing, startTime, endTime, start[0], start[1], end[0], end[1]);
            }
            else if (e == EventTypes.Rotate)
            {
                newCommonEvent = new Rotate(easing, startTime, endTime, start[0], end[0]);
            }
            else if (e == EventTypes.Color)
            {
                newCommonEvent = new Color(easing, startTime, endTime, start[0], start[1], start[2], end[0], end[1],
                                           end[2]);
            }
            else if (e == EventTypes.Parameter)
            {
                newCommonEvent = new Parameter(easing, startTime, endTime, (ParameterType)(int)start[0]);
            }
            else
            {
                newCommonEvent = Register.GetEventTransformation(e)?.Invoke(e, easing, startTime, endTime, start, end);
                if (newCommonEvent == null)
                {
                    throw new ArgumentOutOfRangeException(nameof(e), e, null);
                }
            }

            //List
            //if (sequential)
            //    EventList.AddSorted(newEvent);
            //else
            //    EventList.Add(newEvent);

            //SortedSet
            EventList.Add(newCommonEvent);
        }