Storage system refactor & map init.

* Demonstrated map init working with guns, toolboxes, tool lockers.
* Refactored EntityStorage and ServerStorage to have a common interface.
* EntityStorage no longer uses ServerStorage PURELY for visuals.
  Use an appearance visualizer instead.
This commit is contained in:
Pieter-Jan Briers
2019-05-05 18:52:06 +02:00
parent 030f1f2a57
commit e35d5390db
17 changed files with 384 additions and 950 deletions

View File

@@ -47,7 +47,7 @@
Size: 9999
- type: entity
name: "Electrical Toolbox With Handle"
name: Electrical Toolbox
parent: BaseItem
id: YellowToolboxItem
description: A toolbox typically stocked with electrical gear
@@ -61,6 +61,13 @@
- type: Item
Size: 9999
- type: entity
id: YellowToolboxItemFilled
name: Electrical Toolbox (Filled)
parent: YellowToolboxItem
components:
- type: ToolboxElectricalFill
- type: entity
name: "Extra-Grip™ Mop"
parent: BaseItem

View File

@@ -8,6 +8,7 @@
layers:
- state: generic
- state: generic_door
map: ["enum.StorageVisualLayers.Door"]
- type: Icon
sprite: Buildings/closet.rsi
@@ -23,10 +24,12 @@
mass: 25
Anchored: false
- type: EntityStorage
- type: Storage
state_door_open: generic_open
state_door_closed: generic_door
- type: PlaceableSurface
- type: Appearance
visuals:
- type: StorageVisualizer2D
state_open: generic_open
state_closed: generic_door
placement:
snap:
@@ -40,16 +43,26 @@
- type: Sprite
sprite: Buildings/closet.rsi
layers:
- state: eng
- state: eng_tool_door
- state: eng
- state: eng_tool_door
map: ["enum.StorageVisualLayers.Door"]
- type: Storage
state_door_closed: eng_tool_door
state_door_open: eng_open
- type: Appearance
visuals:
- type: StorageVisualizer2D
state_open: eng_open
state_closed: eng_tool_door
- type: Icon
state: eng_tool_door
- type: entity
id: locker_tool_filled
name: Tool Locker (Filled)
parent: locker_tool
components:
- type: ToolLockerFill
- type: entity
id: locker_electrical_supplies
name: Electrical Supplies Locker
@@ -58,12 +71,15 @@
- type: Sprite
sprite: Buildings/closet.rsi
layers:
- state: eng
- state: eng_elec_door
- state: eng
- state: eng_elec_door
map: ["enum.StorageVisualLayers.Door"]
- type: Storage
state_door_closed: eng_elec_door
state_door_open: eng_open
- type: Appearance
visuals:
- type: StorageVisualizer2D
state_open: eng_open
state_closed: eng_elec_door
- type: Icon
state: eng_elec_door
@@ -76,12 +92,15 @@
- type: Sprite
sprite: Buildings/closet.rsi
layers:
- state: eng
- state: eng_weld_door
- state: eng
- state: eng_weld_door
map: ["enum.StorageVisualLayers.Door"]
- type: Storage
state_door_closed: eng_weld_door
state_door_open: eng_open
- type: Appearance
visuals:
- type: StorageVisualizer2D
state_open: eng_open
state_closed: eng_weld_door
- type: Icon
state: eng_weld_door
@@ -94,12 +113,15 @@
- type: Sprite
sprite: Buildings/closet.rsi
layers:
- state: eng
- state: eng_rad_door
- state: eng
- state: eng_rad_door
map: ["enum.StorageVisualLayers.Door"]
- type: Storage
state_door_closed: eng_rad_door
state_door_open: eng_open
- type: Appearance
visuals:
- type: StorageVisualizer2D
state_open: eng_open
state_closed: eng_rad_door
- type: Icon
state: eng_rad_door