public ConditionsFindAnywhereSource(IConditionDataManager dataManager, IMySqlExecutor mySqlExecutor, Lazy <IMessageBoxService> messageBoxService) { this.dataManager = dataManager; this.mySqlExecutor = mySqlExecutor; this.messageBoxService = messageBoxService; }
public SmartFactory(IParameterFactory parameterFactory, ISmartDataManager smartDataManager, IConditionDataManager conditionDataManager) { this.parameterFactory = parameterFactory; this.smartDataManager = smartDataManager; this.conditionDataManager = conditionDataManager; }
public SmartTypeListProvider(IWindowManager windowManager, ISmartDataManager smartDataManager, IConditionDataManager conditionDataManager, IFavouriteSmartsService favouriteSmartsService) { this.windowManager = windowManager; this.smartDataManager = smartDataManager; this.conditionDataManager = conditionDataManager; this.favouriteSmartsService = favouriteSmartsService; }
public SmartFactory(IParameterFactory parameterFactory, ISmartDataManager smartDataManager, IConditionDataManager conditionDataManager) { this.parameterFactory = parameterFactory; this.smartDataManager = smartDataManager; this.conditionDataManager = conditionDataManager; if (!parameterFactory.IsRegisteredLong("StoredTargetParameter")) { parameterFactory.Register("StoredTargetParameter", new VariableContextualParameter(GlobalVariableType.StoredTarget, "storedTarget")); parameterFactory.Register("DataVariableParameter", new VariableContextualParameter(GlobalVariableType.DataVariable, "data")); parameterFactory.Register("TimedEventParameter", new VariableContextualParameter(GlobalVariableType.TimedEvent, "timedEvent")); parameterFactory.Register("DoActionParameter", new VariableContextualParameter(GlobalVariableType.Action, "action")); parameterFactory.Register("DoFunctionParameter", new VariableContextualParameter(GlobalVariableType.Function, "function")); parameterFactory.Register("StoredPointParameter", new VariableContextualParameter(GlobalVariableType.StoredPoint, "storedPoint")); parameterFactory.Register("DatabasePointParameter", new VariableContextualParameter(GlobalVariableType.DatabasePoint, "databasePoint")); } }
public SmartFactory(IParameterFactory parameterFactory, ISmartDataManager smartDataManager, IDatabaseProvider databaseProvider, IConditionDataManager conditionDataManager, ITableEditorPickerService tableEditorPickerService, IItemFromListProvider itemFromListProvider, ICurrentCoreVersion currentCoreVersion, IQuestEntryProviderService questEntryProviderService, IContainerProvider containerProvider) { this.parameterFactory = parameterFactory; this.smartDataManager = smartDataManager; this.conditionDataManager = conditionDataManager; this.currentCoreVersion = currentCoreVersion; if (!parameterFactory.IsRegisteredLong("StoredTargetParameter")) { parameterFactory.Register("GossipMenuOptionParameter", new GossipMenuOptionParameter(databaseProvider, tableEditorPickerService, itemFromListProvider)); parameterFactory.Register("CreatureTextParameter", new CreatureTextParameter(databaseProvider, tableEditorPickerService, itemFromListProvider)); parameterFactory.Register("QuestStarterParameter", new QuestStarterEnderParameter(databaseProvider, tableEditorPickerService, questEntryProviderService, true)); parameterFactory.Register("QuestEnderParameter", new QuestStarterEnderParameter(databaseProvider, tableEditorPickerService, questEntryProviderService, false)); parameterFactory.Register("CreatureSpawnKeyParameter", new CreatureSpawnKeyParameter(databaseProvider)); parameterFactory.Register("GameobjectSpawnKeyParameter", new GameObjectSpawnKeyParameter(databaseProvider)); parameterFactory.Register("StoredTargetParameter", containerProvider.Resolve <VariableContextualParameter>( (typeof(GlobalVariableType), GlobalVariableType.StoredTarget), (typeof(string), "storedTarget"))); parameterFactory.Register("DataVariableParameter", containerProvider.Resolve <VariableContextualParameter>( (typeof(GlobalVariableType), GlobalVariableType.DataVariable), (typeof(string), "data"))); parameterFactory.Register("TimedEventParameter", containerProvider.Resolve <VariableContextualParameter>( (typeof(GlobalVariableType), GlobalVariableType.TimedEvent), (typeof(string), "timedEvent"))); parameterFactory.Register("DoActionParameter", containerProvider.Resolve <VariableContextualParameter>( (typeof(GlobalVariableType), GlobalVariableType.Action), (typeof(string), "action"))); parameterFactory.Register("DoFunctionParameter", containerProvider.Resolve <VariableContextualParameter>( (typeof(GlobalVariableType), GlobalVariableType.Function), (typeof(string), "function"))); parameterFactory.Register("StoredPointParameter", containerProvider.Resolve <VariableContextualParameter>( (typeof(GlobalVariableType), GlobalVariableType.StoredPoint), (typeof(string), "storedPoint"))); parameterFactory.Register("DatabasePointParameter", containerProvider.Resolve <VariableContextualParameter>( (typeof(GlobalVariableType), GlobalVariableType.DatabasePoint), (typeof(string), "databasePoint"))); } }
public ConditionsEditorViewModel( IConditionsFactory conditionsFactory, IConditionDataManager conditionDataManager, IItemFromListProvider itemFromListProvider, IHistoryManager historyManager, IEnumerable <ICondition>?conditions, int conditionSourceType) { this.conditionsFactory = conditionsFactory; this.conditionDataManager = conditionDataManager; this.HistoryManager = historyManager; ConditionTypes = conditionDataManager .GetConditionGroups() .SelectMany(group => group.Members) .Where(conditionDataManager.HasConditionData) .Select(conditionDataManager.GetConditionData) .ToList(); if (conditions != null) { int previousElseGroup = -1; foreach (var c in conditions) { var vm = conditionsFactory.Create(conditionSourceType, c); if (vm == null) { continue; } if (c.ElseGroup != previousElseGroup && previousElseGroup != -1) { Conditions.Add(conditionsFactory.CreateOr(conditionSourceType)); } previousElseGroup = c.ElseGroup; Conditions.Add(vm); } } Accept = new DelegateCommand(() => CloseOk?.Invoke()); Cancel = new DelegateCommand(() => CloseCancel?.Invoke()); PickCommand = new AsyncAutoCommand <ParameterValueHolder <long> >(async prh => { if (!prh.HasItems) { return; } var newItem = await itemFromListProvider.GetItemFromList(prh.Parameter.Items, prh.Parameter is FlagParameter, prh.Value); if (newItem.HasValue) { prh.Value = newItem.Value; } }); AddItemCommand = new DelegateCommand(() => { int index = Conditions.Count; if (SelectedCondition != null) { index = Conditions.IndexOf(SelectedCondition) + 1; } index = Math.Clamp(index, 0, Conditions.Count); Conditions.Insert(index, conditionsFactory.Create(conditionSourceType, 0) ?? conditionsFactory.CreateOr(conditionSourceType)); }); RemoveItemCommand = new DelegateCommand(() => { if (SelectedCondition == null) { return; } int indexOf = Conditions.IndexOf(SelectedCondition); if (indexOf != -1) { Conditions.RemoveAt(indexOf); if (indexOf - 1 >= 0 && Conditions.Count > 0) { SelectedCondition = Conditions[indexOf - 1]; } else if (Conditions.Count > 0) { SelectedCondition = Conditions[indexOf]; } } }, () => SelectedCondition != null).ObservesProperty(() => SelectedCondition); CopyCommand = new DelegateCommand(() => { if (SelectedCondition != null) { Clipboard = SelectedCondition?.ToCondition(0); } }, () => SelectedCondition != null).ObservesProperty(() => SelectedCondition); CutCommand = new DelegateCommand(() => { if (SelectedCondition != null) { Clipboard = SelectedCondition?.ToCondition(0); Conditions.Remove(SelectedCondition !); SelectedCondition = null; } }, () => SelectedCondition != null).ObservesProperty(() => SelectedCondition); PasteCommand = new DelegateCommand(() => { if (clipboard != null) { int indexOf = Conditions.Count; if (SelectedCondition != null) { indexOf = Conditions.IndexOf(SelectedCondition) + 1; } var item = conditionsFactory.Create(conditionSourceType, clipboard); if (item != null) { Conditions.Insert(indexOf, item); } } }, () => Clipboard != null).ObservesProperty(() => Clipboard); UndoCommand = new DelegateCommand(HistoryManager.Undo, () => HistoryManager.CanUndo).ObservesProperty(() => HistoryManager.CanUndo); RedoCommand = new DelegateCommand(HistoryManager.Redo, () => HistoryManager.CanRedo).ObservesProperty(() => HistoryManager.CanRedo); Watch(this, t => t.SelectedCondition, nameof(SelectedConditionsType)); historyHandler = AutoDispose(new ConditionsEditorHistoryHandler(this, conditionsFactory)); HistoryManager.AddHandler(historyHandler); }
public SmartTypeListProvider(IWindowManager windowManager, ISmartDataManager smartDataManager, IConditionDataManager conditionDataManager) { this.windowManager = windowManager; this.smartDataManager = smartDataManager; this.conditionDataManager = conditionDataManager; }
public ConditionsFactory(IConditionDataManager conditionDataManager, IParameterFactory parameterFactory) { this.conditionDataManager = conditionDataManager; this.parameterFactory = parameterFactory; }