コード例 #1
0
        protected void OnDirectionChange()
        {
            var args = new SnakeInputEventArgs(CurrentInputDirection);

            Messenger <SnakeInputEventArgs> .Broadcast(
                SnakeEvents.DirectionChanged, args);
        }
コード例 #2
0
        protected void HandleChangeOfDirection(SnakeInputEventArgs eventArgs)
        {
            switch (eventArgs.Direction)
            {
            case Direction.Right:
                if (SegmentDirection != Direction.Left)
                {
                    NextSegmentDireciton = Direction.Right;
                }
                break;

            case Direction.Left:
                if (SegmentDirection != Direction.Right)
                {
                    NextSegmentDireciton = Direction.Left;
                }
                break;

            case Direction.Up:
                if (SegmentDirection != Direction.Down)
                {
                    NextSegmentDireciton = Direction.Up;
                }
                break;

            case Direction.Down:
                if (SegmentDirection != Direction.Up)
                {
                    NextSegmentDireciton = Direction.Down;
                }
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }