Пример #1
0
        private void updateResearchInformations(IResearchType researchType)
        {
            setPath(researchType.GetImageRectangle(), researchType, researchType.GetLevel() + 1);
            setBonus(researchType.GetCurrentBonusLabel(), researchType, researchType.GetLevel());
            setNextBonus(researchType.GetNextBonusLabel(), researchType, researchType.GetLevel());
            setResearchCost(researchType);

            if (researchType.GetLevel() == researchType.GetMaxLevel())
            {
                researchType.GetResearchButton().Visibility = Visibility.Hidden;
                researchType.GetCostCanvas().Visibility     = Visibility.Hidden;
            }
        }
Пример #2
0
        public void UpdateResearch(IResearchType researchType)
        {
            // If you have enough ressources
            if (!BuyResearch.Instance.Buy(researchType))
            {
                ErrorManager.Instance.AddError(new Error.Error()
                {
                    Description = Error.Error.Type.NOT_ENOUGH_RESSOURCES_RESEARCH
                });
                return;
            }

            // Buy sucessfull
            researchType.SetLevel(researchType.GetLevel() + 1);

            var mainWindow = MainWindow.MIns;

            if (mainWindow == null)
            {
                return;
            }

            updateResearchInformations(researchType);

            // update ressource production with new research
            RessourcesManager.Instance.CalculateRessources();
        }
Пример #3
0
        private void setResearchCost(IResearchType researchType)
        {
            var level = researchType.GetLevel();

            if (level >= 0 && level < researchType.GetMaxLevel())
            {
                var researchCost = researchType.GetResearchCost(level + 1);
                researchType.GetResearchCostLabel().Content  = researchCost.Research;
                researchType.GetGoldCostLabel().Content      = researchCost.Gold;
                researchType.GetRessourceCostLabel().Content = researchCost.GetFirstCost();
            }
        }
Пример #4
0
        public bool Buy(IResearchType research)
        {
            if (research == null)
                return false;

            int researchLevel = research.GetLevel();
            if (researchLevel < 0 || researchLevel >= research.GetMaxLevel())
                return false;

            ResearchCost cost = research.GetResearchCost(researchLevel + 1);

            if (cost == null)
                return false;

            return CheckRessourcesAvailability(cost);
        }
Пример #5
0
        public void UpdateResearch(IResearchType researchType)
        {
            // If you have enough ressources
            if (!BuyResearch.Instance.Buy(researchType))
            {
                ErrorManager.Instance.AddError(new Error.Error() { Description = Error.Error.Type.NOT_ENOUGH_RESSOURCES_RESEARCH });
                return;
            }

            // Buy sucessfull
            researchType.SetLevel(researchType.GetLevel() + 1);

            var mainWindow = MainWindow.MIns;
            if (mainWindow == null)
                return;

            updateResearchInformations(researchType);

            // update ressource production with new research
            RessourcesManager.Instance.CalculateRessources();
        }
Пример #6
0
        public bool Buy(IResearchType research)
        {
            if (research == null)
            {
                return(false);
            }

            int researchLevel = research.GetLevel();

            if (researchLevel < 0 || researchLevel >= research.GetMaxLevel())
            {
                return(false);
            }

            ResearchCost cost = research.GetResearchCost(researchLevel + 1);

            if (cost == null)
            {
                return(false);
            }

            return(CheckRessourcesAvailability(cost));
        }
Пример #7
0
        private void updateResearchInformations(IResearchType researchType)
        {
            setPath(researchType.GetImageRectangle(), researchType, researchType.GetLevel() + 1);
            setBonus(researchType.GetCurrentBonusLabel(), researchType, researchType.GetLevel());
            setNextBonus(researchType.GetNextBonusLabel(), researchType, researchType.GetLevel());
            setResearchCost(researchType);

            if (researchType.GetLevel() == researchType.GetMaxLevel())
            {
                researchType.GetResearchButton().Visibility = Visibility.Hidden;
                researchType.GetCostCanvas().Visibility = Visibility.Hidden;
            }
        }
Пример #8
0
        private void setResearchCost(IResearchType researchType)
        {
            var level = researchType.GetLevel();

            if (level >= 0 && level < researchType.GetMaxLevel())
            {
                var researchCost = researchType.GetResearchCost(level + 1);
                researchType.GetResearchCostLabel().Content = researchCost.Research;
                researchType.GetGoldCostLabel().Content = researchCost.Gold;
                researchType.GetRessourceCostLabel().Content = researchCost.GetFirstCost();
            }
        }