Esempio n. 1
0
 public FormEditCreatureColors([NotNull] CreatureColorDefinitions creatureColorDefinitions)
 {
     if (creatureColorDefinitions == null)
     {
         throw new ArgumentNullException(nameof(creatureColorDefinitions));
     }
     this.creatureColorDefinitions = creatureColorDefinitions;
     InitializeComponent();
     RefreshView();
 }
        public DefaultBreedingEvaluatorOptions([NotNull] DefaultBreedingEvaluatorOptionsData defaultBreedingEvaluatorOptionsData, [NotNull] CreatureColorDefinitions creatureColorDefinitions)
        {
            if (creatureColorDefinitions == null)
            {
                throw new ArgumentNullException(nameof(creatureColorDefinitions));
            }
            if (defaultBreedingEvaluatorOptionsData == null)
            {
                throw new ArgumentNullException(nameof(defaultBreedingEvaluatorOptionsData));
            }
            this.creatureColorDefinitions            = creatureColorDefinitions;
            this.defaultBreedingEvaluatorOptionsData = defaultBreedingEvaluatorOptionsData;

            SetupColorValuesDict();
        }
Esempio n. 3
0
 public Creature(
     FormGrangerMain mainForm,
     CreatureEntity entity,
     GrangerContext context,
     [NotNull] CreatureColorDefinitions creatureColorDefinitions)
 {
     if (creatureColorDefinitions == null)
     {
         throw new ArgumentNullException(nameof(creatureColorDefinitions));
     }
     BreedHintColor = null;
     this.mainForm  = mainForm;
     Entity         = entity;
     this.context   = context;
     this.creatureColorDefinitions = creatureColorDefinitions;
 }
Esempio n. 4
0
        public void Init(
            [NotNull] FormGrangerMain mainForm,
            [NotNull] GrangerContext context,
            [NotNull] ILogger logger,
            [NotNull] IWurmApi wurmApi,
            [NotNull] CreatureColorDefinitions creatureColorDefinitions)
        {
            if (mainForm == null)
            {
                throw new ArgumentNullException(nameof(mainForm));
            }
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }
            if (logger == null)
            {
                throw new ArgumentNullException(nameof(logger));
            }
            if (wurmApi == null)
            {
                throw new ArgumentNullException(nameof(wurmApi));
            }
            if (creatureColorDefinitions == null)
            {
                throw new ArgumentNullException(nameof(creatureColorDefinitions));
            }
            this.mainForm = mainForm;
            this.context  = context;
            this.logger   = logger;
            this.wurmApi  = wurmApi;
            this.creatureColorDefinitions = creatureColorDefinitions;

            CustomizeOlv();

            this.context.OnHerdsModified += RefreshHerdList;
            RefreshHerdList(this, EventArgs.Empty);
        }
            public CreatureColorMenuManager(
                [NotNull] ToolStripMenuItem rootToolStripMenuItem,
                [NotNull] CreatureColorDefinitions creatureColorDefinitions,
                [NotNull] Action <string> menuItemClickAction)
            {
                if (rootToolStripMenuItem == null)
                {
                    throw new ArgumentNullException(nameof(rootToolStripMenuItem));
                }
                if (creatureColorDefinitions == null)
                {
                    throw new ArgumentNullException(nameof(creatureColorDefinitions));
                }
                if (menuItemClickAction == null)
                {
                    throw new ArgumentNullException(nameof(menuItemClickAction));
                }
                this.rootToolStripMenuItem    = rootToolStripMenuItem;
                this.creatureColorDefinitions = creatureColorDefinitions;
                this.menuItemClickAction      = menuItemClickAction;

                creatureColorDefinitions.DefinitionsChanged += (o, e) => RebuildItems();
                RebuildItems();
            }
Esempio n. 6
0
        public GrangerFeature(
            [NotNull] ILogger logger,
            [NotNull] IWurmAssistantDataDirectory dataDirectory,
            [NotNull] ISoundManager soundManager,
            [NotNull] ITrayPopups trayPopups,
            [NotNull] IWurmApi wurmApi,
            [NotNull] GrangerSettings grangerSettings,
            [NotNull] DefaultBreedingEvaluatorOptions defaultBreedingEvaluatorOptions,
            [NotNull] IWurmAssistantConfig wurmAssistantConfig,
            [NotNull] ITimerFactory timerFactory,
            [NotNull] CreatureColorDefinitions creatureColorDefinitions,
            [NotNull] GrangerContext grangerContext,
            [NotNull] IFormEditCreatureColorsFactory formEditCreatureColorsFactory,
            [NotNull] ITelemetry telemetry)
        {
            if (logger == null)
            {
                throw new ArgumentNullException(nameof(logger));
            }
            if (dataDirectory == null)
            {
                throw new ArgumentNullException(nameof(dataDirectory));
            }
            if (soundManager == null)
            {
                throw new ArgumentNullException(nameof(soundManager));
            }
            if (trayPopups == null)
            {
                throw new ArgumentNullException(nameof(trayPopups));
            }
            if (wurmApi == null)
            {
                throw new ArgumentNullException(nameof(wurmApi));
            }
            if (grangerSettings == null)
            {
                throw new ArgumentNullException(nameof(grangerSettings));
            }
            if (defaultBreedingEvaluatorOptions == null)
            {
                throw new ArgumentNullException(nameof(defaultBreedingEvaluatorOptions));
            }
            if (wurmAssistantConfig == null)
            {
                throw new ArgumentNullException(nameof(wurmAssistantConfig));
            }
            if (timerFactory == null)
            {
                throw new ArgumentNullException(nameof(timerFactory));
            }
            if (creatureColorDefinitions == null)
            {
                throw new ArgumentNullException(nameof(creatureColorDefinitions));
            }
            if (grangerContext == null)
            {
                throw new ArgumentNullException(nameof(grangerContext));
            }
            if (formEditCreatureColorsFactory == null)
            {
                throw new ArgumentNullException(nameof(formEditCreatureColorsFactory));
            }

            this.logger        = logger;
            this.dataDirectory = dataDirectory;
            this.soundManager  = soundManager;
            this.trayPopups    = trayPopups;

            settings = grangerSettings;
            this.defaultBreedingEvaluatorOptions = defaultBreedingEvaluatorOptions;
            this.creatureColorDefinitions        = creatureColorDefinitions;

            context = grangerContext;
            this.formEditCreatureColorsFactory = formEditCreatureColorsFactory;
            this.telemetry = telemetry ?? throw new ArgumentNullException(nameof(telemetry));

            grangerUi = new FormGrangerMain(this,
                                            settings,
                                            context,
                                            logger,
                                            wurmApi,
                                            defaultBreedingEvaluatorOptions,
                                            creatureColorDefinitions,
                                            formEditCreatureColorsFactory,
                                            telemetry);

            logsFeedMan = new LogsFeedManager(this, context, wurmApi, logger, trayPopups, wurmAssistantConfig, creatureColorDefinitions, grangerSettings, telemetry);
            logsFeedMan.UpdatePlayers(settings.CaptureForPlayers);
            grangerUi.GrangerPlayerListChanged += GrangerUI_Granger_PlayerListChanged;

            updateLoop          = timerFactory.CreateUiThreadTimer();
            updateLoop.Interval = TimeSpan.FromMilliseconds(500);
            updateLoop.Tick    += (sender, args) => Update();
            updateLoop.Start();
        }
Esempio n. 7
0
        public FormGrangerMain(
            [NotNull] GrangerFeature grangerFeature,
            [NotNull] GrangerSettings settings,
            [NotNull] GrangerContext context,
            [NotNull] ILogger logger,
            [NotNull] IWurmApi wurmApi,
            [NotNull] DefaultBreedingEvaluatorOptions defaultBreedingEvaluatorOptions,
            [NotNull] CreatureColorDefinitions creatureColorDefinitions,
            [NotNull] IFormEditCreatureColorsFactory formEditCreatureColorsFactory,
            [NotNull] ITelemetry telemetry)
        {
            if (grangerFeature == null)
            {
                throw new ArgumentNullException(nameof(grangerFeature));
            }
            if (settings == null)
            {
                throw new ArgumentNullException(nameof(settings));
            }
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }
            if (logger == null)
            {
                throw new ArgumentNullException(nameof(logger));
            }
            if (wurmApi == null)
            {
                throw new ArgumentNullException(nameof(wurmApi));
            }
            if (defaultBreedingEvaluatorOptions == null)
            {
                throw new ArgumentNullException(nameof(defaultBreedingEvaluatorOptions));
            }
            if (creatureColorDefinitions == null)
            {
                throw new ArgumentNullException(nameof(creatureColorDefinitions));
            }
            if (formEditCreatureColorsFactory == null)
            {
                throw new ArgumentNullException(nameof(formEditCreatureColorsFactory));
            }
            this.parentModule = grangerFeature;
            this.settings     = settings;
            this.context      = context;
            this.logger       = logger;
            this.wurmApi      = wurmApi;
            this.defaultBreedingEvaluatorOptions = defaultBreedingEvaluatorOptions;
            this.creatureColorDefinitions        = creatureColorDefinitions;
            this.formEditCreatureColorsFactory   = formEditCreatureColorsFactory;
            this.telemetry = telemetry ?? throw new ArgumentNullException(nameof(telemetry));

            InitializeComponent();

            RebuildValuePresets();
            RefreshValuator();
            RebuildAdvisors();
            RefreshAdvisor();

            ucGrangerHerdList1.Init(this, context, logger, wurmApi, creatureColorDefinitions);
            ucGrangerCreatureList1.Init(this, context, logger, wurmApi, creatureColorDefinitions);
            ucGrangerTraitView1.Init(this, context, logger);

            this.context.OnTraitValuesModified += Context_OnTraitValuesModified;

            this.Size = this.settings.MainWindowSize;

            this.checkBoxCapturingEnabled.Checked = this.settings.LogCaptureEnabled;
            this.UpdateViewsVisibility();
            this.Update_textBoxCaptureForPlayers();

            _windowInitCompleted = true;
        }
        public void Init(
            [NotNull] FormGrangerMain mainForm,
            [NotNull] GrangerContext context,
            [NotNull] ILogger logger,
            [NotNull] IWurmApi wurmApi,
            [NotNull] CreatureColorDefinitions creatureColorDefinitons)
        {
            if (mainForm == null)
            {
                throw new ArgumentNullException(nameof(mainForm));
            }
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }
            if (logger == null)
            {
                throw new ArgumentNullException(nameof(logger));
            }
            if (wurmApi == null)
            {
                throw new ArgumentNullException(nameof(wurmApi));
            }
            if (creatureColorDefinitons == null)
            {
                throw new ArgumentNullException(nameof(creatureColorDefinitons));
            }
            this.logger   = logger;
            this.wurmApi  = wurmApi;
            this.mainForm = mainForm;
            this.context  = context;
            this.creatureColorDefinitons = creatureColorDefinitons;

            _debugMainFormAssigned = true;

            if (this.mainForm.Settings.AdjustForDarkThemes)
            {
                MakeDarkHighContrastFriendly();
            }

            if (mainForm.Settings.CreatureListState != null)
            {
                this.objectListView1.RestoreState(mainForm.Settings.CreatureListState);
            }

            SetupOlvCustomizations();

            this.context.OnHerdsModified         += Context_OnHerdsModified;
            this.context.OnCreaturesModified     += ContextOnCreaturesModified;
            this.mainForm.GrangerUserViewChanged += MainForm_UserViewChanged;
            this.mainForm.GrangerAdvisorChanged  += MainForm_Granger_AdvisorChanged;
            this.mainForm.GrangerValuatorChanged += MainForm_Granger_ValuatorChanged;

            creatureColorMenuManager = new CreatureColorMenuManager(setColorToolStripMenuItem,
                                                                    creatureColorDefinitons,
                                                                    SetColorMenuItemClickAction);

            UpdateCurrentCreaturesData();
            UpdateDataForView();
            timer1.Enabled = true;
        }