Adds Research, unlockable technologies, Protolathes... (#264)

* Work on Research so far
More work on UI...
Fix ResearchClient and Protolathe UI stuff.
Fix infinite select -> request state -> select -> ... loop
Add UI to ResearchClient, etc.
Technology Database states, and a bit of work on the research console ui
A bit of work on Research Console UI
Protolathe sync
Stuff that actually does things
Protolathe databases yay
Alright got my motivation back
Yeah, no. It's almost 3 AM already
Fix serialization bug again
More work on stuff
Stuff
Adds files for most new components/systems.

* Protolathes actually work now

* Research. Just Research.

* Adds icons from Eris.

* Address reviews

* Change LatheMenu resize behaviour

* Update Content.Client/GameObjects/Components/Research/ResearchConsoleBoundUserInterface.cs

Co-Authored-By: Pieter-Jan Briers <pieterjan.briers@gmail.com>

* Update Content.Client/Research/ResearchConsoleMenu.cs

Co-Authored-By: Pieter-Jan Briers <pieterjan.briers@gmail.com>

* Move IoC Resolve out of for loop

* Address review

* Localize stuff
This commit is contained in:
Víctor Aguilera Puerto
2019-09-03 22:51:19 +02:00
committed by Pieter-Jan Briers
parent b62fb4a318
commit ba8b495ec0
61 changed files with 1884 additions and 23 deletions

View File

@@ -0,0 +1,40 @@
- type: entity
id: researchAndDevelopmentServer
name: "R&D Server"
components:
- type: Sprite
sprite: Buildings/research.rsi
state: server
- type: Icon
sprite: Buildings/research.rsi
state: server
- type: Clickable
- type: BoundingBox
- type: Collidable
- type: SnapGrid
offset: Center
- type: ResearchServer
- type: TechnologyDatabase
- type: entity
id: baseResearchAndDevelopmentPointSource
name: "Base R&D Point Source"
components:
- type: Sprite
sprite: Buildings/research.rsi
state: tdoppler
- type: Icon
sprite: Buildings/research.rsi
state: tdoppler
- type: Clickable
- type: BoundingBox
- type: Collidable
- type: SnapGrid
offset: Center
- type: ResearchPointSource
pointspersecond: 1000
active: true
- type: UserInterface
interfaces:
- key: enum.ResearchClientUiKey.Key
type: ResearchClientBoundUserInterface

View File

@@ -10,7 +10,6 @@
- type: Icon
sprite: Buildings/computer.rsi
state: computer
- type: Computer
- type: PowerDevice
priority: High
@@ -94,6 +93,15 @@
- type: ComputerVisualizer2D
key: rd_key
screen: rdcomp
- type: ResearchClient
- type: ResearchConsole
- type: TechnologyDatabase
- type: UserInterface
interfaces:
- key: enum.ResearchConsoleUiKey.Key
type: ResearchConsoleBoundUserInterface
- key: enum.ResearchClientUiKey.Key
type: ResearchClientBoundUserInterface
- type: entity

View File

@@ -1,8 +1,25 @@
- type: entity
id: BaseLathe
name: "Lathe"
components:
- type: Clickable
- type: BoundingBox
- type: Collidable
- type: SnapGrid
offset: Center
- type: Lathe
- type: MaterialStorage
- type: UserInterface
interfaces:
- key: enum.LatheUiKey.Key
type: LatheBoundUserInterface
- type: entity
parent: BaseLathe
id: autolathe
name: "Autolathe"
components:
- type: Clickable
- type: Sprite
sprite: Buildings/autolathe.rsi
state: idle
@@ -33,8 +50,45 @@
- CableStack
- Crowbar
- Multitool
- type: MaterialStorage
- type: entity
parent: BaseLathe
id: protolathe
name: "Protolathe"
components:
- type: Sprite
sprite: Buildings/research.rsi
state: protolathe
- type: Icon
sprite: Buildings/research.rsi
state: protolathe
- type: Collidable
shapes:
- !type:PhysShapeAabb
mask: 19
layer: 16
- type: SnapGrid
offset: Center
- type: ResearchClient
- type: TechnologyDatabase
- type: ProtolatheDatabase
protolatherecipes:
- Brutepack
- Ointment
- LightTube
- LightBulb
- MetalStack
- GlassStack
- Wirecutter
- Screwdriver
- Welder
- Wrench
- CableStack
- Crowbar
- Multitool
- type: UserInterface
interfaces:
- key: enum.LatheUiKey.Key
type: LatheBoundUserInterface
type: LatheBoundUserInterface
- key: enum.ResearchClientUiKey.Key
type: ResearchClientBoundUserInterface

View File

@@ -0,0 +1,26 @@
- type: technology
name: "Test Technology 1"
id: Parent1
description: Parent technology needed for sheets
icon: Objects/sheet_glass.png
requiredpoints: 5000
- type: technology
name: "Test Technology 2"
id: Parent2
description: Parent technology 2 needed for sheets
icon: Objects/sheet_glass.png
requiredpoints: 5000
- type: technology
name: Material sheet printing
id: Sheets
description: Print those sheets!
icon: Objects/sheet_metal.png
requiredpoints: 500
requiredtechnologies:
- Parent1
- Parent2
unlockedrecipes:
- MetalStack
- GlassStack