Ejemplo n.º 1
0
        public SquadCompositionFilterPanel(ImageProvider imageProvider, LogFilters filters)
        {
            var filterSnapshot = filters.CompositionFilters.DeepClone();

            BeginVertical(spacing: new Size(5, 5));
            {
                BeginHorizontal();
                {
                    // Core professions
                    BeginVertical(spacing: new Size(2, 2));
                    {
                        foreach (var filter in filterSnapshot.CoreProfessionFilters)
                        {
                            BeginHorizontal();
                            {
                                var image = new ImageView {
                                    Image   = imageProvider.GetTinyProfessionIcon(filter.Profession),
                                    ToolTip = $"Core {GameNames.GetName(filter.Profession)}"
                                };
                                Add(image);
                                Add(ConstructDropDown(filter));
                                Add(ConstructStepper(filter));
                                Add(null);
                            }
                            EndHorizontal();
                        }
                    }
                    EndVertical();

                    // Elite specializations
                    var specializationFilterGroups = new[] {
                        filterSnapshot.HeartOfThornsSpecializationFilters,
                        filterSnapshot.PathOfFireSpecializationFilters
                    };
                    foreach (var specializationFilters in specializationFilterGroups)
                    {
                        BeginVertical(spacing: new Size(2, 2));
                        {
                            foreach (var filter in specializationFilters)
                            {
                                BeginHorizontal();
                                {
                                    var image = new ImageView {
                                        Image   = imageProvider.GetTinyProfessionIcon(filter.EliteSpecialization),
                                        ToolTip = GameNames.GetName(filter.EliteSpecialization)
                                    };
                                    Add(image);
                                    Add(ConstructDropDown(filter));
                                    Add(ConstructStepper(filter));
                                    Add(null);
                                }
                                EndHorizontal();
                            }
                        }
                        EndVertical();
                    }
                }
                EndHorizontal();
            }
            EndVertical();

            BeginVertical(new Padding(5, 5), new Size(5, 5));
            {
                AddRow(null, ConstructResetButton(filterSnapshot), ConstructApplyButton(filters, filterSnapshot));
            }
            EndVertical();
        }
Ejemplo n.º 2
0
        public SpecializationStatistics(ImageProvider imageProvider)
        {
            BeginVertical();
            {
                BeginHorizontal();
                {
                    BeginGroup("Profession counts", new Padding(5), new Size(5, 5), xscale: true);
                    {
                        foreach (var profession in ProfessionData.Professions.Select(x => x.Profession))
                        {
                            professionCountLabels[profession] = new Label {
                                Text = "Unknown"
                            };

                            BeginHorizontal();
                            {
                                var imageView = new ImageView
                                {
                                    Image   = imageProvider.GetTinyProfessionIcon(profession),
                                    ToolTip = GameNames.GetName(profession)
                                };
                                Add(imageView);
                                Add(professionCountLabels[profession]);
                            }
                            EndHorizontal();
                        }

                        Add(null);
                    }
                    EndGroup();

                    BeginGroup("Specialization counts", xscale: true);
                    {
                        BeginHorizontal();
                        {
                            BeginVertical(new Padding(5), new Size(5, 5));
                            {
                                foreach (var profession in ProfessionData.Professions)
                                {
                                    BeginHorizontal();
                                    {
                                        coreCountLabels[profession.Profession] = new Label {
                                            Text = "Unknown", Width = 60
                                        };
                                        var coreImage = new ImageView
                                        {
                                            Image   = imageProvider.GetTinyProfessionIcon(profession.Profession),
                                            ToolTip = $"Core {GameNames.GetName(profession.Profession)}"
                                        };
                                        Add(coreImage);
                                        Add(coreCountLabels[profession.Profession]);

                                        foreach (var specialization in new[] { profession.HoT, profession.PoF })
                                        {
                                            eliteCountLabels[specialization] = new Label {
                                                Text = "Unknown", Width = 60
                                            };
                                            var image = new ImageView
                                            {
                                                Image   = imageProvider.GetTinyProfessionIcon(specialization),
                                                ToolTip = GameNames.GetName(specialization)
                                            };
                                            Add(image);
                                            Add(eliteCountLabels[specialization]);
                                        }
                                    }
                                    EndHorizontal();
                                }

                                Add(null);
                            }
                            EndVertical();
                        }
                        EndHorizontal();
                    }
                    EndGroup();
                    Add(null);
                }
                EndHorizontal();

                Add(null, yscale: true);
            }
            EndVertical();
            AddSeparateRow(null);
        }