World Object

What is a World Object?


A World Object is an Entity that exists in the World but can't make decisions or act. World Object derives from MonoBehavior so it is a component that is attached to a Game Object. A World Object can have inventory, states, various appearances, and can be built or grow.

World Object Type


An World Object Type defines the default configuration for a World Object. It also defines what Mapping Types a World Object of World Object Type can be part of.

Inspector Reference
Script Reference

Inventory


WorldObjects are Entities and can therefore can carry Entities or be carried.

See the inventory section for more information.

Built


World Object Types can be built by setting the type to "Built" and by setting a Completion Points amount. This is the number of points required for a World Object to be considered Completed. Completion points can be increased through Mappings run by Agents. The physical representation of the WorldObject can change as the completion points increase. This can either be done through scaling up the base prefab or through different prefabs that are shown depending on the completion points. These are set in the Skin Prefabs section.

Grows


World Object can also grow. Usually these are some kind of vegetation. The World Object Type allows you to specify the growth rate.

Damagable


A World Object Type can also allow a World Object to be damaged and after reaching a certain damaged level the World Object can be destroyed.

States


World Objects can also exist in various states. The most common example would be a Door being either "Open" or "Closed". Through Mapping Types an Agent can change the World Object's state. States can also automatically change over a period of time. When a World Object enters or exits a State it can have exit or enter Output Changes run.

Skin Prefabs


Skin prefabs determine the appearance of the World Object based on Completion Points, Damage Points, current State, and Inventory Slot Conditions. Inventory Slot Conditions allow for the World Object to change how it looks based on its inventory.

The change of appearance is accomplished by having an empty GameObject containing the model under it. The World Object will then switch out everything under the empty GameObject when the skin prefab changes. The name of this empty GameObject is specified in the Skin Game Object Name field. The order of the skin prefabs does matter as it will pick the first skin prefab where all of the conditions pass.

Inventory Recipes


World Objects can convert their inventory into other inventory using WOT Inventory Recipes. This will happen automatically if the World Object is in the correct state with the correct amount of input Entity Types. The amount of time it takes to convert can also be specified.