▼CNEEDSIM.Action | We hope we wrote our example actions in a way that they can be integrated into your Finite State Machine, Behavior Tree, or Planner. We provide a sample use of our sample actions in the PlanDemo.cs class. |
CNEEDSIM.ChaseSlot | This is an example for how a chasing behavior could be implemented in NEEDSIM Life simulation. For a specific game better solutions might be desirable. |
CNEEDSIM.DecideGoal | For goal oriented behaviors: Get a goal from the simulation, and try to get a slot where the goal can be satisfied. |
CNEEDSIM.DecideValue | For Value-oriented behaviors: Try to get a slot based on utility of all available slots (relative to the current satisfaction level of the needs of the agent). |
CNEEDSIM.InterruptionFuchsalarm | This action demonstrates how interruption of typical NEEDSIM behaviors could look like. |
CNEEDSIM.MoveToSlot | Moving to a slot. The best implementation for such a behavior might be different in your project, but this script offers a starting point. |
CNEEDSIM.SatisfyGoal | Participate in a slot to satisfy a goal. |
CNEEDSIM.SatisfyUrgentNeed | Participating a slot. The respective behavior for value/urgency oriented behaviors. |
CSimulation.Affordance | An affordance is the opportunity granted by an object to an agent to perform an action. |
CSimulation.AffordanceTreeNode | Each game object managed by the simulation has an Affordance Tree Node. It manages scope, affordances, slots, and, if the affordance tree is an active part of the simulation, its goals and levels of satisfaction. |
▼CNEEDSIMSampleSceneScripts.Animal | This example suggests an idea for playing animations based on the states of NEEDSIMNodes. |
CNEEDSIMSampleSceneScripts.Bunny | This example script shows how the bunny can deal with the 'EatBunny' interaction, that can be performed by a fox at the slot provided by a bunny. |
CNEEDSIMSampleSceneScripts.Deer | The deer currently has no special features. Rather check out the fox and the bunny for now ;) |
CNEEDSIMSampleSceneScripts.Fox | Sets the fox to either run or walk |
CNEEDSIM.Blackboard | This is used to store some values, and make some methods available in a place where they can be edited without affecting the other classes. |
CSimulation.DatabaseAsset | Stores the data used by the NEEDSIM Life simulation |
CNEEDSIMSampleSceneScripts.FuchsalarmDemoScript | This script shows how the behaviors of the bunnies are interrupted when the fox is spawned. |
CSimulation.GeneralSettings | A number of values used as configuration of the simulation and editor. |
CSimulation.Goal | A goal is a satisfaction level of a need that an agent wants to achieve. |
CNEEDSIMSampleSceneScripts.InputFieldRuntimeEditing | Helper to change need satisfaction rates of interactions and satisfaction change rates of needs at runtime in a UI. It provides a method to react to the user finishing his input to the InputField. |
CSimulation.Interaction | An interaction at runtime |
CSimulation.InteractionData | From these data items used in the editor the interactions for the runtime will be generated. |
CNEEDSIMSampleSceneScripts.Lake | This example suggests an idea for how a variety of animations can be played at an interactive object. |
CSimulation.Manager | A singleton for managing the simulation at runtime |
CSimulation.NeedItem | A need, one of the core building blocks of NEEDSIMLifeSimulation |
CSimulation.Needs | The Needs class provides methods for interacting with the satisfaction levels of agents. |
CNEEDSIM.NEEDSIMManager | This class stores the values that the NEEDSIMROOT will use for running the simulation |
CNEEDSIM.NEEDSIMNode | Every object and agent in NEEDSIM Life simulation has a NEEDSIMNode: This is the essential component for using NEEDSIM Life simulation. |
CNEEDSIMSampleSceneScripts.NeedsUI | This class shows bars for need satisfaction. A full bar equals full satisfaction, an empty bar means the need is not satisfied. If the need is currently being satisfied an outline will be added. |
CNEEDSIM.PlanDemo | A simple behavior control solution. We tried to write this in a way that makes it easy to use our code samples in Finite State Machines, Behavior Trees and Goal-oriented Action Planning. The idea is that you can run our simulation from within a different solution, for example in case you want to have agents with fighting capabilites. |
CNEEDSIMSampleSceneScripts.SampleCameraControl | A very simple scrolling camera for NEEDSIM Life simulation example scenes. |
CNEEDSIMSampleSceneScripts.SceneSwitcher | public methods to switch scenes via a button click. You have to add the scenes to your build settings to use the prefab that uses this script. |
CNEEDSIMSampleSceneScripts.SimpleSpawn | This is a spawning example script to maintain populations |
CSimulation.SimulationData | The data loaded in the simulation at runtime |
CNEEDSIM3rdParty.Singleton< T > | Be aware this will not prevent a non singleton constructor such as T myT = new T(); To prevent that, add protected T () {} to your singleton class |
▼CNEEDSIM3rdParty.Singleton< NEEDSIMRoot > | |
CNEEDSIM.NEEDSIMRoot | Every scene should have one root node for the AFFORDANCE TREE. This uses the settings of the NEEDSIM Manager and controls the simulation. |
CSimulation.Slot | A slot is a position in the world where an agent can run the interactions provided by the object that offers the slot. |
CNEEDSIMSampleSceneScripts.SpawnBedsManager | This example shows how you could spawn all the objects and agents procedurally. |
CNEEDSIMSampleSceneScripts.SpawnUIRuntimeEditing | Spawns a UI Element for each need and each satisfaction rate of an interaction. |
CSimulation.Species | A species is a set of needs. For example zombies might only have the 'Hunger' need, whereas humans furthermore have a 'Social' need. |
CSimulation.StringFloatPair | A class that helps creating key value pairs. |
CSimulation.Strings | A centralized place for many of the strings used by the NEEDSIM Life simulation. |
CNEEDSIMSampleSceneScripts.TimeSystem | This example uses arrays with 24 values each to modify how behaviors are evaluated at a specific time of day. This class works with Value Oriented behaviors, not with Goal Oriented behaviors, because it relies on the fact that all opportunities to satisfy needs are evaluated, not only the opportunities that can satisfy the need of the current goal. |