Example #1
0
        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);
        }
Example #2
0
        public CargoListPannelSimple(StaticDataStore staticData, EntityState entity)
        {
            _staticData      = staticData;
            _entityState     = entity;
            _storageDatablob = entity.Entity.GetDataBlob <CargoStorageDB>();

            Update();
        }
Example #3
0
 public CargoListPannelComplex(StaticDataStore staticData, EntityState entity, Dictionary <Guid, bool> headersOpenDict)
 {
     _staticData       = staticData;
     _entityState      = entity;
     _storageDatablob  = entity.Entity.GetDataBlob <CargoStorageDB>();
     HeadersIsOpenDict = headersOpenDict;
     Update();
 }
Example #4
0
 public TechListVM(DictionaryVM <Guid, string> selectedItems, StaticDataStore staticData) : this(staticData)
 {
     SelectedItems = selectedItems;
     foreach (var item in SelectedItems)
     {
         PossibleItems.Remove(item.Key);
     }
 }
Example #5
0
 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);
     }
 }
Example #7
0
 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);
     }
 }
Example #8
0
 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();
 }
Example #9
0
        public ScientistControlVM(StaticDataStore staticData, FactionTechDB factionTech, Entity scientist)
        {
            _staticData     = staticData;
            _factionTech    = factionTech;
            ScientistEntity = scientist;

            _projectQueue = new ObservableCollection <ResearchTechControlVM>();
            Refresh();
        }
Example #10
0
        public CargoListPannelSimple(StaticDataStore staticData, EntityState entity)
        {
            _staticData  = staticData;
            _entityState = entity;

            _volStorageDB = entity.Entity.GetDataBlob <VolumeStorageDB>();
            _entityState.Entity.Manager.ManagerSubpulses.SystemDateChangedEvent += ManagerSubpulsesOnSystemDateChangedEvent;
            Update();
        }
Example #11
0
 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;
 }
Example #12
0
        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();
        }
Example #13
0
 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);
         }
     }
 }
Example #15
0
        /// <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;
        }
Example #16
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;
        }
Example #17
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);
        }
Example #18
0
        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);
        }
Example #19
0
        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);
        }
Example #20
0
        /// <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;
        }
Example #21
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>();
        }
Example #22
0
        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;
            }
        }
Example #23
0
        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);
        }
Example #24
0
        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();
        }
Example #25
0
 public CargoStorageByTypeVM(GameVM gameVM)
 {
     _gameVM    = gameVM;
     _dataStore = _gameVM.Game.StaticData;
 }
Example #26
0
 public FactionResearchVM(StaticDataStore staticData, Entity factionEntity)
 {
     _staticData    = staticData;
     _factionEntity = factionEntity;
 }
Example #27
0
 public PlanetMineralDepositVM(StaticDataStore staticData, Entity planetEntity)
 {
     _planetEntity = planetEntity;
     _staticData   = staticData;
     Initialise();
 }
Example #28
0
 /// <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);
 }
Example #29
0
 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]));
 }
Example #30
0
 private ColonyPanel(StaticDataStore staticData, EntityState selectedEntity)
 {
     _selectedEntity = selectedEntity;
     _cargoList      = new CargoListPannelSimple(staticData, selectedEntity);
     _staticData     = staticData;
 }
Example #31
0
        /// <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);
            }
        }