ModBuildings: Difference between revisions
Stlnegril9 (talk | contribs) add example collider images |
Stlnegril9 (talk | contribs) No edit summary |
||
| Line 83: | Line 83: | ||
[https://github.com/codebyfire/mod-content-creator Github3DModels]<br> | [https://github.com/codebyfire/mod-content-creator Github3DModels]<br> | ||
For building selection. a collider should be sized appropriately, placed on Layer 9 (Content), and placed on the building top level | For building selection. a collider should be sized appropriately, placed on Layer 9 (Content), and placed on the building top level (usually) to allow selection but not cover any resources inside the building that may need selection. See Chocolate Factory example: [[File:Code Example BuildingUnitCollider.png|64px|ExampleBuildingCollider]] <br> | ||
For buildings that adjust unit vertical location (such as Watchtowers), a collider should be added within a sub-game object (e.g. "FloorColliderHolder_L1") for the building level and placed on Layer 8 (Floor). See : [[File:ColliderWatchtower_Unity.png|64px| | <br> | ||
For buildings that adjust unit vertical location (such as Watchtowers), a collider should be added within a sub-game object (e.g. "FloorColliderHolder_L1") for the building level and placed on Layer 8 (Floor). See: [[File:ColliderWatchtower_Unity.png|64px|ExampleFloorCollider]] and [[File:Unity_ColliderForUnits_Layers_R1.PNG|64px|ExampleFloorColliderLayer]] <br> | |||
The unit will path to the top of the collider.<br> | The unit will path to the top of the collider.<br> | ||
Specific Units to use Floor Colliders can be defined in [[FloorColliderUnitIdHash]] within [[ModRender|render.json]] | Specific Units to use Floor Colliders can be defined in [[FloorColliderUnitIdHash]] within [[ModRender|render.json]] | ||
Revision as of 13:39, 22 July 2022
Mod Buildings Translation.csv
List of fields used in translation.csv for Buildings
placeholder for now - to link to translation.csv for Buildings
Add other Building specific info later
Mod Building
JSON
Table of main building.json entries:
| Value | Type | Description |
|---|---|---|
| typeId | integer | building ID |
| ageComponentsDict | array | by level 1 to 3, see link ... |
| baseOffsets | array | building tile information - see link ... |
| doesHeightRequireModulus2 | boolean | some type of terrain height adjustment? |
| customEntranceDirections | array | alternate entrance(s) to 0,-1 tile |
| maxAmount | integer | number of building limiter (used by Trading Ships) |
| unitPositions | array | worker, repair, and stackbots - see link ... |
| requirements | array | see Table of requirements values |
| isAvailable | boolean | deprecated? used to hide buildings |
| constructionSiteIdleLoc | array | location of BuilderBot when idle |
| constructionSiteWorkerSubLocs | array | location(s) of BuilderBot when building |
| doesRequireLandOwnership | boolean | within existing player territory, always TRUE? |
| componentInfos | array | building components - see ... |
| category | integer | Menu category for the building - see BuildingCatModIds |
Assets
Icon
image file naming convention: building_200_L1.png, building_200_L2.png
image file should be 128x128 pixel size with transparent background
Example file:
3D Models
Github3DModels
For building selection. a collider should be sized appropriately, placed on Layer 9 (Content), and placed on the building top level (usually) to allow selection but not cover any resources inside the building that may need selection. See Chocolate Factory example:
For buildings that adjust unit vertical location (such as Watchtowers), a collider should be added within a sub-game object (e.g. "FloorColliderHolder_L1") for the building level and placed on Layer 8 (Floor). See:
and
The unit will path to the top of the collider.
Specific Units to use Floor Colliders can be defined in FloorColliderUnitIdHash within render.json