Code Monkey home page Code Monkey logo

citybuilding's People

Stargazers

 avatar

Watchers

 avatar  avatar

citybuilding's Issues

Add Workplace

  • Component
    • EmployeeType
    • MaxEmployees
    • CurrentEmployees
  • #5
  • Processor
    • Ask for walker with message to request employees if CurrentEmployees is less than MaxEmployees
    • Set Efficiency based on difference beetween CurrentEmployees and MaxEmployees

Add Item producer

  • Component
    • Recipe
  • #2
  • Processor
    • Set storage to be automatically controlled
    • Produces items according to recipe and puts them in a storage component
    • Does not produce if recipe requirements are not met

Add walker

  • Components
    • MessageToSend
    • ReplyMessages
    • TargetComponents
    • WalkerProducerId
    • MaxDistance
    • DistanceWalked
    • IsReturning
    • MessageRadius
  • Processor
    • Send message to entities/components in radius while alive
    • Limit how many times the message is sent
    • Choose direction if at a crossroad
    • Update MaxDistance
    • Set IsReturning to true if DistanceWalked exceeds MaxDistance
    • Find Path back to producer if IsReturning is true
    • Send ReplyMessages to producer if IsReturning is true and reached
    • Remove entity when Producer reached
    • Remove entity if Producer was removed

Add item consumer

  • Component
    • NeededItems
    • Storage (Remove)
    • ConsumptionPerSecond
  • #7
  • #2
  • Processor
    • Add storage component if not present
    • Set storage to be automatically controlled
    • Create entry in storage for items that are not yet present
    • Asks for NeededItems if below threshold (Rewrite to use storage component)
    • Does not ask if above threshold
    • Removes consumed items from storage
    • Does not consume items if not in storage
    • Adds activatable component if not preset
    • Sets Active to true if items could be consumed, to false if not

Messaging

  • Message to component of entity
    • Component
      • By type
      • By Id
    • Entity

Add influence area attribute

  • Component
    • AttributeName
    • BaseValue
    • CoreRadius
    • DegredationPerRadiusAfterCore
  • Processor
    • Modify the given attribute in the are in the CoreRarius by the BaseValue
    • After the core area modidy the given attribute by : BaseValue - DegredationPerRadiusAfterCore * (Radius - CoreRadius)
    • If the calculated value is 0 or goes above/below 0 (relative to the BaseValue) there should be no modifcation to the attribute
    • Ensure that it actually degrades towards 0

Building struct

  • Fields
    • Name
    • List of building stages #9
    • List of components to add when finished

Construction

  • Component
    • Building
    • Stage
    • Complete
  • #6
  • #2
  • Processor
    • Fields
      • Dictionary of building templates #10
    • Set initial values from Building
    • Set storage to be automatically controlled
    • Request items if storage is less than NeededResources
    • Do not request items if storage contains NeededResources
    • Advance complete if storage contains NeededResources
    • Advance stage if complete
    • Remove component if all stages are finished and add components of the building

Add Item Storage

  • Component
    • Capacity
    • StoredItems #13
    • AutomaticallyControlled
  • Processor
    • Send Requests when below threshold
    • Do not send requests when at or over threshold
    • Do not send requests if no request is set
    • Ask for empty storage to send to while above empty threshold
    • Do not ask for empty storage when below threshold
    • Do not ask for storage when when no empty set
    • Only request up to capacity
    • Sort requests by priority
    • Do not request more than then MaxCount
    • Ignore capacity if not set

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.