void upgrade_OnMouseRelease(object sender, Operation_Cronos.Input.MouseEventArgs e)
        {
            int price = GetUpgradeCost();            
            if (GameManager.GetMoney(GameManager.CurrentYear) >= price)
            {
                GameManager.SpendMoney(GameManager.CurrentYear, price);
                GameInterface.SetMoney(GameManager.GetMoney(GameManager.CurrentYear));

                //do upgrade
                if (selectedConstruction.ConstructionType != ConstructionType.Population)
                {
                    selectedConstruction.SelectConstruction = false;
                    selectedConstruction.UpgradeYear = GameManager.CurrentYear;
                    selectedConstruction.Slot.Upgrade(GameManager.CurrentYear);
                    GameMap.RefreshBuilding(selectedConstruction.Slot);
                    GameMap.Upgrade(selectedConstruction.Slot, GameManager.CurrentYear);
                }
                else
                {
                    selectedConstruction.Slot.ShortenReservation(GameManager.CurrentYear);
                    GameMap.RefreshBuilding(selectedConstruction.Slot);

                    switch (selectedConstruction.ConstructionName)
                    {
                        case Construction.PopulationVillage:
                            GameMap.UpgradePopulationConstruction(selectedConstruction.Slot, Construction.PopulationTown);
                            break;
                        case Construction.PopulationTown:
                            GameMap.UpgradePopulationConstruction(selectedConstruction.Slot, Construction.PopulationCity);
                            break;
                        case Construction.PopulationCity:
                            GameMap.UpgradePopulationConstruction(selectedConstruction.Slot, Construction.PopulationMetropolis); ;
                            break;
                    }

                    GameMap.RefreshBuilding(selectedConstruction.Slot);
                    int year = GameManager.CurrentYear;
                    GameManager.UpdateYear(year);

                    Close();
                }
            }
            else
            {
                //Debug.AddToLog("Not enough cashcaval");
                textUpgradeCost.Text = "Can not afford to upgrade";
                textUpgradeCost.Tint = Color.Red;
            }
        }
        void close_OnMouseRelease(object sender, Operation_Cronos.Input.MouseEventArgs e)
        {
            if (selectedConstruction.ConstructionType == ConstructionType.Education ||
                selectedConstruction.ConstructionType == ConstructionType.Health ||
                selectedConstruction.ConstructionType == ConstructionType.Population ||
                selectedConstruction.ConstructionType == ConstructionType.Energy)
                SoundManager.StopSound((Sounds)Enum.Parse(typeof(Sounds), selectedConstruction.ConstructionType.ToString()));
            else
                SoundManager.StopSound((Sounds)Enum.Parse(typeof(Sounds), selectedConstruction.ConstructionName.ToString()));
    

            selectedConstruction.SelectConstruction = false;
            this.IsVisible = false;
            this.Enabled = false;
        }
        void destroy_OnMouseRelease(object sender, Operation_Cronos.Input.MouseEventArgs e)
        {
            selectedConstruction.SelectConstruction = false;

            if (selectedConstruction.Slot.GetReservation(GameManager.CurrentYear).Status(GameManager.CurrentYear) == ConstructionStatus.InConstruction)
            {
                GameMap.UndoBuild(GameManager.CurrentYear, selectedConstruction.Slot);
                selectedConstruction.Slot.UndoReservation(GameManager.CurrentYear);
            }
            else
                selectedConstruction.Slot.ShortenReservation(GameManager.CurrentYear);

            GameMap.RefreshBuilding(selectedConstruction.Slot);
            int year = GameManager.CurrentYear;
            GameManager.UpdateYear(year);

            Close();
        }
        void repair_OnMouseRelease(object sender, Operation_Cronos.Input.MouseEventArgs e)
        {
            int price = GetRepairCost();
                //GameManager.BuildingProperties.BuildingBaseProperties(selectedConstruction.ConstructionName, selectedConstruction.ConstructionYear, selectedConstruction.UpgradeYear, GameManager.CurrentYear).Price;
            
            if (GameManager.GetMoney(GameManager.CurrentYear) >= price)
            {
                GameManager.SpendMoney(GameManager.CurrentYear, price);
                GameInterface.SetMoney(GameManager.GetMoney(GameManager.CurrentYear));

                //do repair 
                BuildingsBaseProperties properties = new BuildingsBaseProperties();
                selectedConstruction.SelectConstruction = false;

                selectedConstruction.Slot.ProlongReservation(GameManager.CurrentYear);
                selectedConstruction.ConstructionLifetime = (GameManager.CurrentYear - selectedConstruction.ConstructionYear) + properties.BuildingBaseProperties(selectedConstruction.ConstructionName, selectedConstruction.ConstructionYear, selectedConstruction.UpgradeYear, GameManager.CurrentYear).Lifetime;
                GameMap.RefreshBuilding(selectedConstruction.Slot);

                Close();
                int year = GameManager.CurrentYear;
                GameManager.UpdateYear(year);
            }
            else
            {
                //Debug.AddToLog("Not enough cashcaval");
                textRepairCost.Text = "Can not afford to repair";
                textRepairCost.Tint = Color.Red;
            }
        }
 void upArrow_OnMousePress(object sender, Operation_Cronos.Input.MouseEventArgs e)
 {
     if (e.Button == Operation_Cronos.Input.MouseButton.LeftButton)
     {
         OnYearIncreased(this, e);
     }
 }
 void minimize_OnMousePress(object sender, Operation_Cronos.Input.MouseEventArgs e)
 {
     OnMinimize(this, new EventArgs());
     SoundManager.PlaySound(Sounds.SlidingSoundLong);
 }
Example #7
0
 void close_OnMousePress(object sender, Operation_Cronos.Input.MouseEventArgs e)
 {
     this.IsVisible = false;
     this.Enabled = false;
 }
Example #8
0
 void minimize_OnMousePress(object sender, Operation_Cronos.Input.MouseEventArgs e) {
     if (parameters.IsOpen)
     {
         parameters.SlideIn();
         SoundManager.PlaySound(Sounds.SlidingSoundShort);
     }
     else
     {
         parameters.SlideOut();
         SoundManager.PlaySound(Sounds.SlidingSoundShort);
     }
 }
Example #9
0
 void GameMap_OnMouseRelease(object sender, Operation_Cronos.Input.MouseEventArgs e)
 {
     if (selectedObject != null)
     {
         Debug.AddToLog("Selected object: " + selectedObject.ToString());
     }
     ClearSelection();
 }
Example #10
0
 void TimeBar_OnMouseMove(object sender, Operation_Cronos.Input.MouseEventArgs e) {
     int relativeMouseX = e.ScreenPosition.X - this.X;
     if (draggable != null) {
         if (relativeMouseX - draggable.MousePositionInside.X > TimeBar.LeftSlideLimit
             && relativeMouseX - draggable.MousePositionInside.X < TimeBar.RightSlideLimit) {
             ((InputVisualComponent)draggable).XRelative = relativeMouseX - draggable.MousePositionInside.X;
         } else {
             if (relativeMouseX - draggable.MousePositionInside.X < TimeBar.LeftSlideLimit) {
                 ((InputVisualComponent)draggable).XRelative = TimeBar.LeftSlideLimit;
             } else {
                 if (relativeMouseX - draggable.MousePositionInside.X > TimeBar.RightSlideLimit) {
                     ((InputVisualComponent)draggable).XRelative = TimeBar.RightSlideLimit;
                 }
             }
         }
         fraction = ((float)slider.XRelative - LeftSlideLimit) / (float)Length;
         Year = startYear + (int)((float)(endYear - startYear) * fraction);
     }
 }
 void icon_OnMousePress(object sender, Operation_Cronos.Input.MouseEventArgs e)
 {
     ControlPanelButton icon = (ControlPanelButton)sender;
     Refresh((Research)icon.Data);
 }