Beispiel #1
0
        public sealed override void Update(float dt)
        {
            base.Update(dt);
            if (!ResourcesRequested)
            {
                ResourcesRequested = true;
                ResourceDirector.RequestIngredients(BuildingDescription.ConstructionInformation.ResourceTypes.ToArray());
            }
            if (!IsConstructing)
            {
                return;
            }
            PassedConstructionTime += dt;
            Progress = PassedConstructionTime / BuildingDescription.ConstructionInformation.ConstructionTime;
            if (PassedConstructionTime >= BuildingDescription.ConstructionInformation.ConstructionTime)
            {
                PassedConstructionTime = 0;
                IsConstructing         = false;

                Building building = new Building(Position, World, BuildingDescription);
                World.StructureManager.RemoveStructure(this);
                World.StructureManager.CreateStrucuture(building);
                ConstructionCompleted?.Invoke(this);
            }
            OnRequiresRedraw();
        }
Beispiel #2
0
        public App()
        {
            BetaFileImportBuilder betaFileImportBuilder = new BetaFileImportBuilder();
            ResourceDirector      resourceDirector      = new ResourceDirector(betaFileImportBuilder);

            resourceDirector.loadTextResources();
            helpTextHashTable = resourceDirector.getHashTable();

            BetaPinBuilder       builder  = new BetaPinBuilder();
            CustonPinSetDirector director = new CustonPinSetDirector(builder);

            InitializeComponent();

            Device.SetFlags(new[] { "Shapes_Experimental", "MediaElement_Experimental" });

            director.makePins();
            director.makePositions();
            pins      = director.getPins();
            positions = director.getPositions();

            //pins = InitializePins();

            //tracks = initTracksFromAzureDB();

            MainPage = new MainFlyout();
        }
Beispiel #3
0
        protected virtual void OnProductionCompleted()
        {
            World.GlobalResourceManager.Knowledge           += Description.ProductionInformation.Products.Knowledge;
            World.GlobalResourceManager.EnvironmentResource += Description.ProductionInformation.Products.EnvironmentResource;
            var resourceTypeSources = Description.ProductionInformation.Products.ResourceTypes.ToArray();

            if (resourceTypeSources.Any())
            {
                ResourceDirector.ProvideResources(resourceTypeSources);
            }
            else
            {
                ResourceDirector_AllProvisionsLeft(ResourceDirector);
            }
        }
Beispiel #4
0
 private void StartConstructing(ResourceDirector arg1, ResourceType[] arg2)
 {
     World.GlobalResourceManager.Enqueue(new EnergyPackage(BuildingDescription.ConstructionInformation.EnvironmentResource.Energy, e => IsConstructing = true));
 }
Beispiel #5
0
 private void ResourceDirector_AllProvisionsLeft(ResourceDirector obj)
 {
     CheckAndStartProduction();
 }
Beispiel #6
0
 private void ResourceDirector_AllIngredientsArrived(ResourceDirector arg1, ResourceType[] arg2)
 {
     CheckAndStartProduction();
 }
Beispiel #7
0
 protected virtual void RequestIngredients()
 {
     ResourceDirector.RequestIngredients(Description.ProductionInformation.Ingredients.ResourceTypes.ToArray());
 }