Exemplo n.º 1
0
        private List <MatchEventModel> CreateEvents()
        {
            var events = new List <MatchEventModel>();

            foreach (var e in Events)
            {
                if (e.Type != EventType.A)
                {
                    var eventModel = new MatchEventModel {
                        Id = e.Id
                    };

                    if (e.TeamId == HomeTeam.Id)
                    {
                        eventModel.Player   = HomeTeamPlayers.Where(p => p.Id == e.PlayerId).First();
                        eventModel.ViewType = 0;
                    }
                    else
                    {
                        eventModel.Player   = AwayTeamPlayers.Where(p => p.Id == e.PlayerId).First();
                        eventModel.ViewType = 1;
                    }


                    if (e.Type == EventType.P2 || e.Type == EventType.P10)
                    {
                        eventModel.ResourceId = Resource.Drawable.ic_numeric_2_box_grey600_24dp;
                    }
                    else
                    {
                        if (e.Type == EventType.P5)
                        {
                            eventModel.ResourceId = Resource.Drawable.ic_numeric_2_box_grey600_24dp;
                        }
                        else
                        {
                            if (e.Type == EventType.G)
                            {
                                eventModel.ResourceId = Resource.Drawable.ball;
                                eventModel.IsGoal     = true;

                                var assist = Events.FirstOrDefault(a => a.Time == e.Time && a.Type == EventType.A);
                                if (assist != null)
                                {
                                    var player = assist.TeamId == HomeTeam.Id ? HomeTeamPlayers.Where(p => p.Id == e.PlayerId).First() : AwayTeamPlayers.Where(p => p.Id == e.PlayerId).First();
                                    eventModel.Assist = new MatchEventModel {
                                        ResourceId = Resource.Drawable.ball, Player = player
                                    };
                                }
                            }
                        }
                    }

                    eventModel.Time         = e.Time;
                    eventModel.EventMessage = EventMessages.First(em => em.Id == e.EventMessageId);
                    events.Add(eventModel);
                }
            }

            return(events);
        }
Exemplo n.º 2
0
        private void LogTeams(Coordinate ballPosition)
        {
            var height = 120;
            var width  = 25;

            var homePlayers = new int?[width, height];
            var awayPlayers = new int?[width, height];

            HomeTeamPlayers.Execute(p => homePlayers[(int)(p.Location.X * width), (int)(p.Location.Y * height)] = p.Number);
            AwayTeamPlayers.Execute(p => awayPlayers[(int)(p.Location.X * width), (int)(p.Location.Y * height)] = p.Number);

            var ballX = (int)(ballPosition.X * width);
            var ballY = (int)(ballPosition.Y * height);

            var stringBuilder = new StringBuilder("\n");

            stringBuilder.AppendLine(string.Join("", Enumerable.Repeat("_", homePlayers.GetLength(1)).ToArray()));

            for (var i = 0; i < homePlayers.GetLength(0); ++i)
            {
                for (var j = 0; j < homePlayers.GetLength(1); ++j)
                {
                    if (j == 0 || j == homePlayers.GetLength(1) - 1)
                    {
                        stringBuilder.Append("|");
                    }


                    if (homePlayers[i, j].HasValue)
                    {
                        var adjust  = i == ballX && j == ballY ? 1 : 0;
                        var prepend = i == ballX && j == ballY ? "*_" : "_";

                        stringBuilder.Append(prepend + homePlayers[i, j]);

                        j = homePlayers[i, j] >= 10 ? j + 2 + adjust : j + 1 + adjust;

                        continue;
                    }
                    else if (awayPlayers[i, j].HasValue)
                    {
                        var adjust  = i == ballX && j == ballY ? 1 : 0;
                        var prepend = i == ballX && j == ballY ? "*|" : "|";

                        stringBuilder.Append("|" + awayPlayers[i, j]);

                        j = awayPlayers[i, j] >= 10 ? j + 2 + adjust : j + 1 + adjust;

                        continue;
                    }

                    stringBuilder.Append(" ");
                }

                stringBuilder.AppendLine();
            }

            stringBuilder.AppendLine(string.Join("", Enumerable.Repeat("_", homePlayers.GetLength(1)).ToArray()));

            Log(stringBuilder.ToString());
        }