public ColonyScreenVM(GameVM gameVM, Entity colonyEntity, StaticDataStore staticData) { gameVM.Game.GameLoop.GameGlobalDateChangedEvent += GameVM_DateChangedEvent; _colonyEntity = colonyEntity; _facilities = new ObservableCollection <FacilityVM>(); ComponentInstancesDB instaces = colonyEntity.GetDataBlob <ComponentInstancesDB>(); foreach (var installation in instaces.SpecificInstances) { //Facilities.Add(new FacilityVM(installation.Key, instaces)); FacilitesList.Add(new ComponentSpecificDesignVM(installation.Key, installation.Value)); } UpdatePop(); PlanetMineralDepositVM = new PlanetMineralDepositVM(staticData, _colonyEntity.GetDataBlob <ColonyInfoDB>().PlanetEntity); RefineryAbilityVM = new RefineryAbilityVM(staticData, _colonyEntity); ConstructionAbilityVM = new ConstructionAbilityVM(staticData, _colonyEntity); ColonyResearchVM = new ColonyResearchVM(staticData, _colonyEntity); }
public CargoListPannelSimple(StaticDataStore staticData, EntityState entity) { _staticData = staticData; _entityState = entity; _storageDatablob = entity.Entity.GetDataBlob <CargoStorageDB>(); Update(); }
public CargoListPannelComplex(StaticDataStore staticData, EntityState entity, Dictionary <Guid, bool> headersOpenDict) { _staticData = staticData; _entityState = entity; _storageDatablob = entity.Entity.GetDataBlob <CargoStorageDB>(); HeadersIsOpenDict = headersOpenDict; Update(); }
public TechListVM(DictionaryVM <Guid, string> selectedItems, StaticDataStore staticData) : this(staticData) { SelectedItems = selectedItems; foreach (var item in SelectedItems) { PossibleItems.Remove(item.Key); } }
public CargoListPannelSimple(StaticDataStore staticData, EntityState entity) { _staticData = staticData; _entityState = entity; _storageDatablob = entity.Entity.GetDataBlob <CargoStorageDB>(); entity.Entity.Manager.ManagerSubpulses.SystemDateChangedEvent += ManagerSubpulses_SystemDateChangedEvent; Update(); }
public MineralFormulaVM(ComponentTemplateParentVM parent, StaticDataStore staticDataStore) : base(parent) { _dataStore = staticDataStore; Minerals = new DictionaryVM <Guid, string>(DisplayMode.Value); foreach (var item in staticDataStore.Minerals.Values) { Minerals.Add(item.ID, item.Name); } }
public TechListVM(StaticDataStore staticData) { SelectedItems = new DictionaryVM <Guid, string>(); PossibleItems = new DictionaryVM <Guid, string>(); foreach (var item in staticData.Techs.Values) { PossibleItems.Add(item.ID, item.Name); } }
public CargoListPannelComplex(StaticDataStore staticData, EntityState entity, Dictionary <Guid, bool> headersOpenDict) { _staticData = staticData; _entityState = entity; _storageDatablob = entity.Entity.GetDataBlob <CargoStorageDB>(); HeadersIsOpenDict = headersOpenDict; entity.Entity.Manager.ManagerSubpulses.SystemDateChangedEvent += ManagerSubpulses_SystemDateChangedEvent; Update(); }
public ScientistControlVM(StaticDataStore staticData, FactionTechDB factionTech, Entity scientist) { _staticData = staticData; _factionTech = factionTech; ScientistEntity = scientist; _projectQueue = new ObservableCollection <ResearchTechControlVM>(); Refresh(); }
public CargoListPannelSimple(StaticDataStore staticData, EntityState entity) { _staticData = staticData; _entityState = entity; _volStorageDB = entity.Entity.GetDataBlob <VolumeStorageDB>(); _entityState.Entity.Manager.ManagerSubpulses.SystemDateChangedEvent += ManagerSubpulsesOnSystemDateChangedEvent; Update(); }
public RefineryAbilityVM(StaticDataStore staticData, Entity colonyEntity) : base(staticData, colonyEntity) { ItemDictionary = new DictionaryVM <Guid, string>(DisplayMode.Value); foreach (var kvp in _staticData_.ProcessedMaterials) { ItemDictionary.Add(kvp.Key, kvp.Value.Name); } //NewJobSelectedItem = ItemDictionary[ItemDictionary.ElementAt(0).Key]; NewJobSelectedIndex = 0; NewJobBatchCount = 1; NewJobRepeat = false; }
public JobAbilityBaseVM(StaticDataStore staticData, Entity colonyEntity) { //JobChangePriorityCommand = new JobPriorityCommand<TDataBlob, TJob>(this); _staticData_ = staticData; _colonyEntity_ = colonyEntity; _jobCollectionSyncher = new MVMCollectionSyncher <TJob>(DataBlob.JobBatchList); _jobCollectionSyncher.CollectionChanged += _jobCollectionSyncher_CollectionChanged; SetupJobs(); }
public ConstructionAbilityVM(StaticDataStore staticData, Entity colonyEntity) : base(staticData, colonyEntity) { ItemDictionary = new DictionaryVM <Guid, string>(DisplayMode.Value); foreach (var kvp in FactionInfo.ComponentDesigns) { ItemDictionary.Add(kvp.Key, kvp.Value.GetDataBlob <NameDB>().DefaultName); } //NewJobSelectedItem = ItemDictionary.SelectedKey; NewJobSelectedIndex = 0; NewJobBatchCount = 1; NewJobRepeat = false; }
/// <summary> /// Constructor for empty VM /// </summary> /// <param name="parent"></param> /// <param name="gameVM"></param> public ComponentTemplateMainPropertiesVM(ComponentTemplateParentVM parent, GameVM gameVM) : base(parent) { _staticData = gameVM.Game.StaticData; SubControlInFocus = FocusedControl.MassControl; foreach (var item in Enum.GetValues(typeof(ComponentMountType))) { if ((ComponentMountType)item != ComponentMountType.None) { MountType.Add((ComponentMountType)item, false); } } }
/// <summary> /// Constructor /// </summary> /// <param name="gameVM"></param> public ComponentTemplateParentVM(GameVM gameVM) { _staticData = gameVM.Game.StaticData; _gameVM = gameVM; FormulaEditor = new FormulaEditorVM(this, _staticData); foreach (var item in _staticData.ComponentTemplates.Values) { Components.Add(item, item.Name); } SelectedComponent = new ComponentTemplateMainPropertiesVM(this, _gameVM); Components.SelectionChangedEvent += Components_SelectionChangedEvent; Components.SelectedIndex = 0; }
public ComponentDesignVM(GameVM gameVM) { _gameVM = gameVM; _staticData = gameVM.Game.StaticData; _factionEntity = gameVM.CurrentFaction; _factionTech = gameVM.CurrentFaction.GetDataBlob <FactionTechDB>(); foreach (var componentSD in gameVM.Game.StaticData.ComponentTemplates.Values) { ComponentTypes.Add(componentSD.Name, componentSD.ID); } ComponentTypes.SelectedIndex = 0; }
public static CargoTransfer GetInstance(StaticDataStore staticData, EntityState selectedEntity1) { CargoTransfer instance; if (!_state.LoadedWindows.ContainsKey(typeof(CargoTransfer))) { instance = new CargoTransfer { _staticData = staticData, _selectedEntityLeft = selectedEntity1 }; } else { instance = (CargoTransfer)_state.LoadedWindows[typeof(CargoTransfer)]; if (instance._selectedEntityLeft != selectedEntity1) { instance._selectedEntityLeft = selectedEntity1; instance.headersOpenDict = new Dictionary <Guid, bool>(); instance.SelectedCargoPannel = null; instance.UnselectedCargoPannel = null; } } if (instance._selectedEntityLeft.Entity.HasDataBlob <CargoStorageDB>()) { instance.CargoListLeft = new CargoListPannelComplex(staticData, selectedEntity1, instance.headersOpenDict); instance._hasCargoAbilityLeft = true; } else { instance._hasCargoAbilityLeft = false; } if (instance._selectedEntityRight != null && instance._selectedEntityLeft.Entity.HasDataBlob <CargoStorageDB>()) { if (!instance._hasCargoAbilityRight) { instance.CargoListRight = new CargoListPannelComplex(staticData, instance._selectedEntityRight, instance.headersOpenDict); } instance._hasCargoAbilityRight = true; } else { instance._hasCargoAbilityRight = false; } return(instance); }
public JobVM(StaticDataStore staticData, Entity colonyEntity, JobBase job, JobAbilityBaseVM <TDataBlob, TJob> parentJobAbilityVM) { _staticData = staticData; _colonyEntity = colonyEntity; _job = job; _parentJobAbility = parentJobAbilityVM; if (_job is RefineingJob) { _jobTotalPoints = _staticData.ProcessedMaterials[_job.ItemGuid].RefineryPointCost; } else if (_job is ConstructionJob) { _jobTotalPoints = _colonyEntity.GetDataBlob <OwnedDB>().ObjectOwner.GetDataBlob <FactionInfoDB>().ComponentDesigns[_job.ItemGuid].GetDataBlob <ComponentInfoDB>().BuildPointCost; } JobPriorityCommand = new JobPriorityCommand <TDataBlob, TJob>(this); }
public static ColonyPanel GetInstance(StaticDataStore staticData, EntityState selectedEntity) { ColonyPanel instance; if (selectedEntity.CmdRef == null) { selectedEntity.CmdRef = CommandReferences.CreateForEntity(_state.Game, selectedEntity.Entity); } if (!_state.LoadedWindows.ContainsKey(typeof(ColonyPanel))) { instance = new ColonyPanel(staticData, selectedEntity); instance.HardRefresh(); return(instance); } instance = (ColonyPanel)_state.LoadedWindows[typeof(ColonyPanel)]; instance._selectedEntity = selectedEntity; return(instance); }
/// <summary> /// Constructor for empty /// </summary> /// <param name="parent"></param> /// <param name="parentList"></param> /// <param name="staticData"></param> public ComponentAbilityTemplateVM(ComponentTemplateParentVM parent, ObservableCollection <ComponentAbilityTemplateVM> parentList, StaticDataStore staticData) : base(parent) { _staticData = staticData; //SelectedGuiHint = new DictionaryVM<GuiHint, string>(DisplayMode.Value); ParentList = parentList; foreach (var item in Enum.GetValues(typeof(GuiHint))) { SelectedGuiHint.Add((GuiHint)item, Enum.GetName(typeof(GuiHint), item)); } SelectedGuiHint.SelectionChangedEvent += SelectedGuiHint_SelectionChangedEvent; SelectedGuiHint.SelectedIndex = 0; _abilityDataBlobTypeSelection = AbilityTypes(); foreach (var item in EnumTypes()) { ItemDictTypes.Add(item, item.Name); } ItemDictTypes.SelectionChangedEvent += ItemDictTypes_SelectionChangedEvent; ItemDictTypes.SelectedIndex = 0; }
public FormulaEditorVM(ComponentTemplateParentVM parent, StaticDataStore staticData) { _parent = parent; TechList = new DictionaryVM <Guid, string>(); foreach (var item in staticData.Techs.Values) { TechList.Add(item.ID, item.Name); } TechList.SelectionChangedEvent += TechList_SelectionChangedEvent; ParameterButtons = new List <ButtonInfo>(); ParameterButtons.Add(new ButtonInfo("[Size]", "Links to the Size formula field", this)); ParameterButtons.Add(new ButtonInfo("[Crew]", "Links to the Crew requred formula field", this)); ParameterButtons.Add(new ButtonInfo("[HTK]", "Links to the Hit To Kill formula field", this)); ParameterButtons.Add(new ButtonInfo("[ResearchCost]", "Links to the Research cost formula field", this)); ParameterButtons.Add(new ButtonInfo("[MineralCost]", "Links to the Mineral cost formula field", this)); ParameterButtons.Add(new ButtonInfo("[CreditCost]", "Links to the Credit Cost formula field", this)); ParameterButtons.Add(new ButtonInfo("[GuidDict]", "A special parameter for a key value pair collection, used in ability formula fields", this)); FunctionButtons = new List <ButtonInfo>(); }
public ComponentAbilityDesignVM(ComponentDesignVM designVM, ComponentDesignAbility designAbility, StaticDataStore staticData) { _designAbility = designAbility; _staticData = staticData; _parentDesignVM = designVM; switch (designAbility.GuiHint) { case GuiHint.GuiTechSelectionList: foreach (var kvp in designAbility.GuidDictionary) { TechSD sd = _staticData.Techs[Guid.Parse((string)kvp.Key)]; TechList.Add(sd, sd.Name); } TechList.SelectedIndex = 0; TechList.SelectionChangedEvent += TechList_SelectionChangedEvent; break; case GuiHint.GuiSelectionMaxMin: { minMaxSliderVM = new MinMaxSliderVM(); designAbility.SetMax(); designAbility.SetMin(); designAbility.SetValue(); designAbility.SetStep(); minMaxSliderVM.Name = Name; minMaxSliderVM.MaxValue = MaxValue; minMaxSliderVM.MinValue = MinValue; minMaxSliderVM.StepValue = StepValue; minMaxSliderVM.Value = Value; //.PreLoadedValue = Value; //hack due to eto bug. MinMaxSlider.Value = Value; minMaxSliderVM.PropertyChanged += MinMaxSlider_PropertyChanged; } break; } }
public static CargoTransfer GetInstance(StaticDataStore staticData, EntityState selectedEntity1) { CargoTransfer instance; if (!_uiState.LoadedWindows.ContainsKey(typeof(CargoTransfer))) { instance = new CargoTransfer { _staticData = staticData, _selectedEntityLeft = _uiState.PrimaryEntity }; instance.HardRefresh(); } else { instance = (CargoTransfer)_uiState.LoadedWindows[typeof(CargoTransfer)]; if (instance._selectedEntityLeft != _uiState.PrimaryEntity) { instance.HardRefresh(); } } return(instance); }
public ColonyResearchVM(StaticDataStore staticData, Entity colonyEntity) { _factionEntity = colonyEntity.GetDataBlob <OwnedDB>().ObjectOwner; _colonyEntity = colonyEntity; _factionTech = _factionEntity.GetDataBlob <FactionTechDB>(); Scientists = new List <ScientistControlVM>(); if (_factionTech.ResearchableTechs.Count > 0) { //ResearchableTechs = new ObservableCollection<TechSD>(_factionTech.ResearchableTechs.Keys); ResearchableTechs = new DictionaryVM <TechSD, string>(DisplayMode.Value); foreach (var tech in _factionTech.ResearchableTechs.Keys) { ResearchableTechs.Add(tech, tech.Name); } SelectedTechIndex = 0; } foreach (var scientist in _colonyEntity.GetDataBlob <ColonyInfoDB>().Scientists) { Scientists.Add(new ScientistControlVM(staticData, _factionTech, scientist)); } SelectedScientist = Scientists[0]; Refresh(); }
public CargoStorageByTypeVM(GameVM gameVM) { _gameVM = gameVM; _dataStore = _gameVM.Game.StaticData; }
public FactionResearchVM(StaticDataStore staticData, Entity factionEntity) { _staticData = staticData; _factionEntity = factionEntity; }
public PlanetMineralDepositVM(StaticDataStore staticData, Entity planetEntity) { _planetEntity = planetEntity; _staticData = staticData; Initialise(); }
/// <param name="dbDir">the home directory of DataStore.</param> /// <param name="initialCapacity">the initial capacity of DataStore.</param> public KratiDataStore(string dbDir, int initialCapacity) { this.itemsToInsert = initialCapacity; store = CreateDataStore(new File(dbDir), initialCapacity); }
public MineralFormulaVM(ComponentTemplateParentVM parent, StaticDataStore staticDataStore, KeyValuePair <Guid, string> guidFormulaKVP) : this(parent, staticDataStore) { MineralFormula = guidFormulaKVP.Value; Minerals.SelectedIndex = Minerals.GetIndex(new KeyValuePair <Guid, string>(guidFormulaKVP.Key, Minerals[guidFormulaKVP.Key])); }
private ColonyPanel(StaticDataStore staticData, EntityState selectedEntity) { _selectedEntity = selectedEntity; _cargoList = new CargoListPannelSimple(staticData, selectedEntity); _staticData = staticData; }
/// <summary> /// Constructor for filled /// </summary> /// <param name="parent"></param> /// <param name="abilitySD"></param> /// <param name="parentList"></param> /// <param name="staticData"></param> public ComponentAbilityTemplateVM(ComponentTemplateParentVM parent, ComponentTemplateAbilitySD abilitySD, ObservableCollection <ComponentAbilityTemplateVM> parentList, StaticDataStore staticData) : this(parent, parentList, staticData) { Name = abilitySD.Name; Description = abilitySD.Description; SelectedGuiHint.SelectedIndex = (int)abilitySD.GuiHint; if (abilitySD.AbilityDataBlobType != null) { AbilityDataBlobType = abilitySD.AbilityDataBlobType; } AbilityFormula = abilitySD.AbilityFormula; MinFormula = abilitySD.MinFormula; MaxFormula = abilitySD.MaxFormula; StepFormula = abilitySD.StepFormula; //GuidDictionary = abilitySD.GuidDictionary; DictionaryVM <Guid, string> techSelected = new DictionaryVM <Guid, string>(); if (abilitySD.GuiHint == GuiHint.GuiTechSelectionList) { foreach (var item in abilitySD.GuidDictionary) { techSelected.Add(Guid.Parse(item.Key.ToString()), _staticData.Techs[Guid.Parse(item.Key.ToString())].Name); } GuidDict = new TechListVM(techSelected, _staticData); } }