File tree Expand file tree Collapse file tree 5 files changed +32
-21
lines changed
plugin/src/server/sc/plugin2021
sdk/src/server-api/sc/api/plugins
server/test/sc/server/plugins Expand file tree Collapse file tree 5 files changed +32
-21
lines changed Original file line number Diff line number Diff line change @@ -11,13 +11,11 @@ import sc.plugin2021.util.WinReason
1111import sc.protocol.responses.ProtocolMessage
1212import sc.shared.*
1313
14- class Game : AbstractGame <Player >(GamePlugin .PLUGIN_UUID ) {
14+ class Game ( override val currentState : GameState = GameState ()) : AbstractGame<Player>(GamePlugin .PLUGIN_UUID ) {
1515 companion object {
1616 val logger = LoggerFactory .getLogger(Game ::class .java)
1717 }
1818
19- override val currentState = GameState ()
20-
2119 private val availableTeams = mutableListOf (Team .ONE , Team .TWO )
2220 override fun onPlayerJoined (): Player {
2321 if (availableTeams.isEmpty())
Original file line number Diff line number Diff line change @@ -2,10 +2,13 @@ package sc.plugin2021
22
33import sc.api.plugins.IGameInstance
44import sc.api.plugins.IGamePlugin
5+ import sc.api.plugins.IGameState
6+ import sc.api.plugins.host.GameLoader
57import sc.plugins.PluginDescriptor
68import sc.shared.ScoreAggregation
79import sc.shared.ScoreDefinition
810import sc.shared.ScoreFragment
11+ import java.io.File
912
1013@PluginDescriptor(name = " Blokus" , uuid = GamePlugin .PLUGIN_UUID )
1114class GamePlugin : IGamePlugin {
@@ -15,9 +18,13 @@ class GamePlugin: IGamePlugin {
1518
1619 override fun id () = PLUGIN_UUID
1720
18- override fun createGame (): IGameInstance = Game ()
21+ override fun createGame (): IGameInstance =
22+ Game ()
1923
20- override fun getScoreDefinition (): ScoreDefinition =
24+ override fun createGameFromState (state : IGameState ): IGameInstance =
25+ Game (state as GameState )
26+
27+ override val scoreDefinition: ScoreDefinition =
2128 ScoreDefinition (arrayOf(
2229 ScoreFragment (" Gewinner" ),
2330 ScoreFragment (" \u2205 Punkte" , ScoreAggregation .AVERAGE )
Load Diff This file was deleted.
Original file line number Diff line number Diff line change 1+ package sc.api.plugins
2+
3+ import sc.plugins.IPlugin
4+ import sc.shared.ScoreDefinition
5+ import java.io.File
6+
7+ interface IGamePlugin : IPlugin {
8+ fun id (): String?
9+ /* * @return eine neues Spiel dieses Typs. */
10+ fun createGame (): IGameInstance
11+ fun createGameFromState (state : IGameState ): IGameInstance
12+
13+ val scoreDefinition: ScoreDefinition
14+ }
Original file line number Diff line number Diff line change @@ -2,8 +2,10 @@ package sc.server.plugins
22
33import sc.api.plugins.IGameInstance
44import sc.api.plugins.IGamePlugin
5+ import sc.api.plugins.IGameState
56import sc.plugins.PluginDescriptor
67import sc.shared.ScoreDefinition
8+ import java.io.File
79
810@PluginDescriptor(name = " TestPlugin" , uuid = TestPlugin .TEST_PLUGIN_UUID )
911class TestPlugin : IGamePlugin {
@@ -13,9 +15,12 @@ class TestPlugin: IGamePlugin {
1315
1416 override fun id (): String = TEST_PLUGIN_UUID
1517
16- override fun createGame (): IGameInstance = TestGame ()
18+ override fun createGame (): IGameInstance =
19+ TestGame ()
1720
18- override fun getScoreDefinition ( ): ScoreDefinition =
19- ScoreDefinition ( " winner " )
21+ override fun createGameFromState ( state : IGameState ): IGameInstance =
22+ TestGame (state as TestGameState )
2023
24+ override val scoreDefinition: ScoreDefinition =
25+ ScoreDefinition (" winner" )
2126}
You can’t perform that action at this time.
0 commit comments