Skip to content

Commit

Permalink
Move server implementation in src
Browse files Browse the repository at this point in the history
  • Loading branch information
CodeDoctorDE committed Oct 3, 2024
1 parent b0eb4d2 commit f7eb5a1
Show file tree
Hide file tree
Showing 20 changed files with 217 additions and 211 deletions.
2 changes: 1 addition & 1 deletion api/lib/models.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ export 'src/models/background.dart';
export 'src/models/chat.dart';
export 'src/models/data.dart';
export 'src/models/deck.dart';
export 'src/models/definition.dart';
export 'src/models/dialog.dart';
export 'src/models/info.dart';
export 'src/models/meta.dart';
export 'src/models/definition.dart';
export 'src/models/server.dart';
export 'src/models/table.dart';
export 'src/models/translation.dart';
Expand Down
2 changes: 1 addition & 1 deletion app/android/settings.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ pluginManagement {

plugins {
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
id "com.android.application" version '8.6.1' apply false
id "com.android.application" version '8.7.0' apply false
id "org.jetbrains.kotlin.android" version "1.7.10" apply false
}

Expand Down
4 changes: 2 additions & 2 deletions app/pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -323,10 +323,10 @@ packages:
dependency: transitive
description:
name: file_selector_linux
sha256: "045d372bf19b02aeb69cacf8b4009555fb5f6f0b7ad8016e5f46dd1387ddd492"
sha256: "712ce7fab537ba532c8febdb1a8f167b32441e74acd68c3ccb2e36dcb52c4ab2"
url: "https://pub.dev"
source: hosted
version: "0.9.2+1"
version: "0.9.3"
file_selector_macos:
dependency: transitive
description:
Expand Down
2 changes: 1 addition & 1 deletion docs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
"@astrojs/react": "^3.6.2",
"@astrojs/starlight": "^0.28.2",
"@phosphor-icons/react": "^2.1.7",
"@types/react": "^18.3.10",
"@types/react": "^18.3.11",
"@types/react-dom": "^18.3.0",
"astro": "^4.15.10",
"react": "^18.3.1",
Expand Down
308 changes: 154 additions & 154 deletions docs/pnpm-lock.yaml

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions server/.gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# https://dart.dev/guides/libraries/private-files
# Created by `dart pub`
.dart_tool/
doc/

# Runtime files
world.qka
Expand Down
2 changes: 1 addition & 1 deletion server/bin/quokka_server.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import 'package:quokka_server/main.dart';
import 'package:quokka_server/src/main.dart';

Future<void> main(List<String> arguments) {
return runServer(arguments);
Expand Down
21 changes: 11 additions & 10 deletions server/lib/quokka_server.dart
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
/// Official quokka server library
library;

export 'asset.dart';
export 'main.dart';
export 'server.dart';
export 'programs/kick.dart';
export 'programs/packs.dart';
export 'programs/players.dart';
export 'programs/save.dart';
export 'programs/say.dart';
export 'programs/stop.dart';
export 'package:networker/networker.dart';
export 'package:quokka_api/quokka_api.dart';
export 'src/asset.dart';
export 'src/events.dart';
export 'src/main.dart';
export 'src/server.dart';
export 'src/programs/kick.dart';
export 'src/programs/packs.dart';
export 'src/programs/players.dart';
export 'src/programs/save.dart';
export 'src/programs/say.dart';
export 'src/programs/stop.dart';
export 'package:networker/networker.dart';
File renamed without changes.
2 changes: 1 addition & 1 deletion server/lib/events.dart → server/lib/src/events.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import 'dart:async';

import 'package:networker/networker.dart';
import 'package:quokka_api/quokka_api.dart';
import 'package:quokka_server/server.dart';
import 'package:quokka_server/src/server.dart';

mixin ServerReference {
QuokkaServer get server;
Expand Down
2 changes: 1 addition & 1 deletion server/lib/main.dart → server/lib/src/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import 'dart:async';

import 'package:args/args.dart';
import 'package:quokka_api/quokka_api.dart';
import 'package:quokka_server/server.dart';
import 'package:quokka_server/src/server.dart';

const String version = '0.0.1';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import 'package:consoler/consoler.dart';
import 'package:quokka_server/server.dart';
import 'package:quokka_server/src/server.dart';

class KickProgram extends ConsoleProgram {
final QuokkaServer server;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import 'package:consoler/consoler.dart';
import 'package:quokka_api/quokka_api.dart';
import 'package:quokka_server/server.dart';
import 'package:quokka_server/src/server.dart';

class PacksProgram extends ConsoleProgram {
final QuokkaServer server;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import 'package:consoler/consoler.dart';
import 'package:quokka_server/server.dart';
import 'package:quokka_server/src/server.dart';

class PlayersProgram extends ConsoleProgram {
final QuokkaServer server;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import 'package:consoler/consoler.dart';
import 'package:quokka_server/server.dart';
import 'package:quokka_server/src/server.dart';

class SaveProgram extends ConsoleProgram {
final QuokkaServer server;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import 'package:consoler/consoler.dart';
import 'package:quokka_api/quokka_api.dart';
import 'package:quokka_server/server.dart';
import 'package:quokka_server/src/server.dart';

class SayProgram extends ConsoleProgram {
final QuokkaServer server;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import 'package:consoler/consoler.dart';
import 'package:quokka_server/server.dart';
import 'package:quokka_server/src/server.dart';

class StopProgram extends ConsoleProgram {
final QuokkaServer server;
Expand Down
20 changes: 10 additions & 10 deletions server/lib/server.dart → server/lib/src/server.dart
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,13 @@ import 'package:consoler/consoler.dart';
import 'package:networker/networker.dart';
import 'package:networker_socket/server.dart';
import 'package:quokka_api/quokka_api.dart';
import 'package:quokka_server/asset.dart';
import 'package:quokka_server/events.dart';
import 'package:quokka_server/programs/packs.dart';
import 'package:quokka_server/programs/players.dart';
import 'package:quokka_server/programs/save.dart';
import 'package:quokka_server/programs/say.dart';
import 'package:quokka_server/programs/stop.dart';
import 'package:quokka_server/src/asset.dart';
import 'package:quokka_server/src/events.dart';
import 'package:quokka_server/src/programs/packs.dart';
import 'package:quokka_server/src/programs/players.dart';
import 'package:quokka_server/src/programs/save.dart';
import 'package:quokka_server/src/programs/say.dart';
import 'package:quokka_server/src/programs/stop.dart';

Future<WorldState?> _computeEvent(ServerWorldEvent event, WorldState state,
Map<String, FileMetadata> signature) {
Expand All @@ -27,7 +27,7 @@ final class QuokkaServer extends Bloc<ServerWorldEvent, WorldState> {
final ServerAssetManager assetManager;
final String? worldFile;
final eventSystem = EventSystem();
bool _temp = false;
bool autosave = false;

NetworkerSocketServer? _server;
NetworkerPipe<dynamic, WorldEvent>? _pipe;
Expand Down Expand Up @@ -94,7 +94,7 @@ final class QuokkaServer extends Bloc<ServerWorldEvent, WorldState> {
}
log("Starting server on port $port", level: LogLevel.info);
log('Verbose logging activated', level: LogLevel.verbose);
_temp = autosave;
this.autosave = autosave;
final server =
_server = NetworkerSocketServer(InternetAddress.anyIPv4, port,
filterConnections: buildFilterConnections(
Expand Down Expand Up @@ -173,7 +173,7 @@ final class QuokkaServer extends Bloc<ServerWorldEvent, WorldState> {
}

Future<void> save({bool force = false}) async {
if (!force && _temp) return;
if (!force && autosave) return;
final bytes = state.save().exportAsBytes();
await File(defaultWorldFile).writeAsBytes(bytes);
}
Expand Down
48 changes: 26 additions & 22 deletions server/test/dialog.dart
Original file line number Diff line number Diff line change
Expand Up @@ -40,26 +40,30 @@ In conclusion, programming has become an indispensable skill in the modern world

Future<void> onLoad(QuokkaServer server) async {
print("on load was called");
server.eventSystem.on<ObjectsMoved>().listen((e) {
print("Listener was called, opening dialog");
e.sendEvent(DialogOpened(
GameDialog(id: "testDialog", title: "TestDialog")
.markdown(testContent)
.textField(
"TestTextField",
id: "testTextField",
placeholder: "TestPlaceholder",
multiline: true,
password: true,
)
.action(GameDialogButton("TestButton")),
));
});
server.eventSystem.on<DialogCloseRequest>().listen((e) {
final value = e.clientEvent.value;
print("Dialog ${e.clientEvent.id} closed, got ${e.clientEvent.value}");
if (value != null) {
e.cancel();
}
});
server.eventSystem
..on<ObjectsMoved>().listen((e) {
print("Listener was called, opening dialog");
e.sendEvent(DialogOpened(
GameDialog(id: "testDialog", title: "TestDialog")
.markdown(testContent)
.textField(
"TestTextField",
id: "testTextField",
placeholder: "TestPlaceholder",
multiline: true,
password: true,
)
.action(GameDialogButton("TestButton")),
));
})
..on<Null>().listen((e) {
print("play joined");
})
..on<DialogCloseRequest>().listen((e) {
final value = e.clientEvent.value;
print("Dialog ${e.clientEvent.id} closed, got ${e.clientEvent.value}");
if (value != null) {
e.cancel();
}
});
}
2 changes: 1 addition & 1 deletion server/test/duplicate.dart
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Future<void> onLoad(QuokkaServer server) async {
final event = e.clientEvent;
final table = e.getTableOrDefault(event.table);
final cell = table.getCell(event.from);
final objects = List<GameObject>.from(table.getCell(event.to).objects);
final objects = <GameObject>[];
for (final index in event.objects) {
final object = cell.objects[index];
objects.add(object);
Expand Down

0 comments on commit f7eb5a1

Please sign in to comment.