Class ResearchManager

java.lang.Object
com.prineside.tdi2.Manager.ManagerAdapter
com.prineside.tdi2.managers.ResearchManager
All Implemented Interfaces:
Disposable, Manager

public class ResearchManager extends Manager.ManagerAdapter
  • Field Details

  • Constructor Details

    • ResearchManager

      public ResearchManager()
  • Method Details

    • getInstalledLevel

      public int getInstalledLevel(ResearchType researchType)
    • isVisible

      public boolean isVisible(Research research)
    • getInstance

      public Research getInstance(ResearchType researchType)
    • getInstancePreSetup

      public Research getInstancePreSetup(ResearchType researchType)
      Only used during reload(), not safe
    • getInstances

      public Array<Research> getInstances()
    • getLinks

      public Array<Research.ResearchLink> getLinks()
    • getPolygonSprites

      public Array<ResearchManager.PolygonConfig> getPolygonSprites()
    • resetResearchForAccelerators

      public void resetResearchForAccelerators(Research research)
    • isSetUp

      public boolean isSetUp()
    • setup

      public void setup()
      Description copied from interface: Manager
      Called when all manager objects are already created and can be accessed
      Specified by:
      setup in interface Manager
      Overrides:
      setup in class Manager.ManagerAdapter
    • installAllResearches

      public void installAllResearches()
    • installAllEndlessResearches

      public void installAllEndlessResearches()
    • updateAfforableResearchesCount

      public void updateAfforableResearchesCount()
    • getAfforableResearchesCount

      public int getAfforableResearchesCount()
    • isLinkedToRoot

      public boolean isLinkedToRoot(Research research, ObjectSet<ResearchType> travelled)
    • isLinkedToRoot

      public static boolean isLinkedToRoot(Research research, IntIntMap installedResearch, ObjectSet<ResearchType> travelled)
    • updateAndValidateStarBranch

      public void updateAndValidateStarBranch()
      Revert all of the star research that: - are not linked to ROOT - do not fit into the amount of available stars (will be reverted from leaves)
    • installRecursiveFree

      public void installRecursiveFree(int maxResourceIdx)
    • getLoadedConfigHash

      public int getLoadedConfigHash()
      Used to compare old vs new reload() methods
    • reloadNew

      public void reloadNew()
    • getCategory

      public ResearchCategory getCategory(ResearchCategoryType categoryType)
    • reload

      public void reload()
    • create3dGraphModel

      public Model create3dGraphModel()
    • hasInstalledParents

      public boolean hasInstalledParents(Research research)
    • checkResearchesStatus

      public void checkResearchesStatus(boolean showNotifications)
      Проверить статус всех исследований. Стоит вызывать, когда любой тип Requirement теоретически может стать выполненным. Используется для автоматической установки исследований без цены но с выполненными условиями.
    • preRender

      public void preRender(float deltaTime)
      Description copied from interface: Manager
      Called before the actual drawing of screens and systems
      Specified by:
      preRender in interface Manager
      Overrides:
      preRender in class Manager.ManagerAdapter
    • getCurrentResearching

      public Research getCurrentResearching()
      Returns:
      текущее устанавливаемое улучшение или null
    • finishCurrentResearch

      public void finishCurrentResearch()
      Досрочно завершить текущее исследование.
    • getMillisToResearchingEnd

      public long getMillisToResearchingEnd()
      Returns:
      количество миллисекунд до конца текущего исследования
    • canResearchForToken

      public boolean canResearchForToken(Research research, boolean ignoreRequirements)
    • researchForToken

      public boolean researchForToken(Research research)
    • startResearching

      public boolean startResearching(Research research, boolean takeItems)
      Начать новое исследование Возвращает true в случае успеха и false, если начать исследование не удалось. Исследование может закончиться сразу, если время равно 0
      Parameters:
      takeItems - если true, будут отняты ресурсы / деньги, необходимые для исследования throws StartResearchingException
    • tryStartResearching

      public void tryStartResearching(Research research, boolean ignorePrice, ResearchManager.StartResearchingException outException)
      Попытаться начать исследование. Исследование не начнется, но если какое-то условие не выполнено, бросится исключение. throws StartResearchingException
    • resetStarResearches

      public void resetStarResearches()
    • canStartResearching

      public boolean canStartResearching(Research research, boolean ignorePrice)
    • getResearchingDuration

      public long getResearchingDuration(Research research)
      Returns:
      время в мс, которое понадобится для установки улучшения
    • addListener

      public void addListener(ResearchManager.ResearchManagerListener listener)
    • removeListener

      public void removeListener(ResearchManager.ResearchManagerListener listener)
    • getMapMinX

      public int getMapMinX()
    • getMapMaxX

      public int getMapMaxX()
    • getMapMinY

      public int getMapMinY()
    • getMapMaxY

      public int getMapMaxY()
    • getMapWidth

      public int getMapWidth()
    • getMapHeight

      public int getMapHeight()
    • setInstalledLevel

      public void setInstalledLevel(ResearchType researchType, int level, boolean notifyListeners)
      Установить исследование определенного уровня. Основной метод.
    • getResearchInstance

      public Research getResearchInstance(ResearchType researchType)
    • getUnusedStarsCount

      public int getUnusedStarsCount()
      Returns:
      < 0, если установлено больше, чем разрешено
    • getResetStarResearchesAcceleratorPrice

      public int getResetStarResearchesAcceleratorPrice()
    • test

      public void test()
      Description copied from interface: Manager
      Called after all managers are set up. Tests managers early to make sure they can work as intended.
      Specified by:
      test in interface Manager
      Overrides:
      test in class Manager.ManagerAdapter
    • dispose

      public void dispose()
      Description copied from interface: com.badlogic.gdx.utils.Disposable
      Releases all resources of this object.
      Specified by:
      dispose in interface Disposable
      Overrides:
      dispose in class Manager.ManagerAdapter