Object.Resources : components.Resources::ObjectResources { local: Resource@[] getNativeResources() const; Resource@[] getAllResources() const; safe uint get_nativeResourceCount() const; uint get_nativeResourceType(uint index) const; int get_nativeResourceId(uint index) const; uint get_nativeResourceTotalLevel() const; bool get_nativeResourceUsable(uint index) const; bool get_nativeResourceLocked(uint index); uint getTradedResourceCount() const; Object@ get_nativeResourceDestination(uint index) const; bool get_exportEnabled() const; bool get_importEnabled() const; safe uint get_resourceModID() const; safe bool isTerraforming() const; bool get_hasAutoImports() const; safe uint get_queuedImportCount(); uint get_queuedImportType(uint i); Object@ get_queuedImportOrigin(uint i); uint getImportsOfClass(uint cls) const; safe float get_resourceVanishRate() const; safe uint get_primaryResourceType() const; safe uint get_primaryResourceLevel() const; safe uint get_primaryResourceLimitLevel() const; safe int get_primaryResourceId() const; safe bool get_primaryResourceUsable() const; safe bool get_primaryResourceLocked() const; safe bool get_primaryResourceExported() const; string getDisabledReason(int id); restricted local: Resource@[] getAvailableResources() const; Resource@[] getImportedResources() const; Resource@[] getQueuedImports() const; Resources@[] getResourceAmounts() const; bool hasImportedResources() const; safe uint get_availableResourceCount() const; uint get_availableResourceType(uint index) const; bool get_availableResourceUsable(uint index) const; uint get_usableResourceCount() const; bool isResourceAvailable(uint id) const; uint getAvailableResourceAmount(uint id) const; Object@ get_availableResourceOrigin(uint index) const; remote: async void exportResource(uint index, Object@ to); async void exportResourceByID(int id, Object@ to); server: safe bool isPrimaryDestination(Object@ dest); Resource@[] getResourcesFor(Empire@ emp) const; Resource@[] getQueuedImportsFor(Empire@ emp) const; void changeResourceOwner(Empire@ prevOwner); void changeResourceRegion(Region@ prevRegion, Region@ newRegion); void changeResourceTerritory(Territory@ prev, Territory@ terr); void resourceTick(double time); int addResource(uint resourceId); void createResource(uint resourceId); uint getNativeIndex(int id); async void removeResource(int id, bool wasManual = false); Object@ getNativeResourceDestination(Empire@ forEmpire, uint index) const; Object@ getNativeResourceDestinationByID(Empire@ forEmpire, int id) const; bool getNativeResourceUsableByID(int id) const; uint get_nativeResourceByID(int id) const; async void addAvailableResource(Object@ from, int id, uint resource, bool usable); async void removeAvailableResource(Object@ from, int id, bool wasManual = false); async void enableAvailableResource(Object@ from, int id); async void disableAvailableResource(Object@ from, int id, bool wasManual = false); async void setAvailableResourceVanish(Object@ from, int id, double vanishTime); void setResourceDisabled(int nativeId, bool disabled, bool wasManual = false); void setResourceLocked(int nativeId, bool locked); void addQueuedImport(Empire@ forEmpire, Object@ from, int id, uint resource); void removeQueuedImport(Empire@ forEmpire, Object@ from, int id); void setExportEnabled(bool value); void setImportEnabled(bool value); void exportResource(Empire@ forEmpire, uint index, Object@ to); async void clearExportResource(int id); uint getResourceTargetLevel(); void modPressure(uint resource, int amount); async void modDummyResource(uint resource, int amount, bool manual = false); void destroyObjResources(); uint getUniqueFoodCount(int modBy = 0); uint getFoodCount(); void startTerraform(); void stopTerraform(); void terraformTo(uint resId); void modResourceEfficiencyBonus(double amt); void modResourceVanishBonus(double amt); void bumpResourceModId(); void redirectAllImports(Object@ toObject); double pressureFromAsteroids(uint type); uint getAvailableOfTier(uint tier); safe float get_resourceEfficiency() const; void set_resourceEfficiency(float val); void enableResources(); void disableResources(); bool get_areResourcesEnabled() const; void setResourceLevel(uint level, bool wasManual = false); int get_resourcePressure(uint resource) const; uint get_resourcesProducing(uint resource) const; int get_totalResourcePressure() const; bool writeResourceDelta(Message& msg) const; void writeResources(Message& msg) const; void resourcesPostLoad(); safe Civilian@ getAssignedCivilian(); void setAssignedCivilian(Civilian@ civ); safe double getCivilianTimer(); void setCivilianTimer(double time); shadow: void readResourceDelta(Message& msg); void readResources(Message& msg); }