swui-v2
main
Signed-off-by: Chaoscaot max@maxsp.de
Signed-off-by: Chaoscaot <max@maxsp.de>
Sieht erstmal ok aus. Fehlt halt noch ein bisschen utility aber ansonsten ist es ok
@@ -0,0 +69,4 @@
onClose()
InventoryClickEvent.getHandlerList().unregister(this)
Hier bitte generisches unregister. Sodass man nicht vergiss irgendwas zu unregistern (HandlerList.unregisterAll oder ähnliches)
HandlerList.unregisterAll
@@ -0,0 +37,4 @@
render()
}
var item: ItemStack = ItemStack.of(Material.AIR)
Hier fehlt natürlich noch das man das Item per hand zusammenbaut, also name ist ne property, material, amount etc.
@@ -0,0 +70,4 @@
@EventHandler
fun onInventoryClick(event: InventoryClickEvent) {
if (event.inventory.holder is UIWindow) {
val window = event.inventory.holder as UIWindow
val holder = event.inventory.holder; if(holder is UIWindow) { ...
wäre hier deutlich schöner
@@ -39,2 +39,4 @@
dependsOn(":SchematicSystem:shadowJar")
dependsOn(":KotlinCore:shadowJar")
template = "Bau21"
worldName = "73"
Den musst du auch in eine local steamwar.properties Datei legen im BauSystem Projekt. Dies wird so nicht mehr in main möglich sein!
@@ -34,6 +34,7 @@ dependencies {
compileOnly(libs.classindex)
annotationProcessor(libs.classindex)
compileOnly(project(":SpigotCore", "default"))
compileOnly(project(":KotlinCore", "default"))
Aktuell doch noch nicht benötigt oder?
@@ -37,5 +37,6 @@ tasks.register<DevServer>("DevBau21") {
dependsOn(":SpigotCore:shadowJar")
dependsOn(":BauSystem:shadowJar")
@@ -1,3 +1,5 @@
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
Der Import wirklich nötig?
ja.
@@ -0,0 +22,4 @@
import kotlin.properties.ReadWriteProperty
import kotlin.reflect.KProperty
class Observer<T>(private var value: T): ReadWriteProperty<Any?, T> {
Observer chaining? Mit sowas wie .transform auf einem Observer womit du einen DelegatedObserver bekommt der nur ein getValue hat?
@@ -0,0 +45,4 @@
bukkitInv = KotlinCore.plugin.server.createInventory(this, size * 9, Component.translatable(title))
constructor(type: InventoryType, title: String, player: Player, render: WindowContext.() -> Unit): this(player, render) {
Hier vllt prüfen, dass man Chest nicht nutzen darf!
@@ -0,0 +33,4 @@
override fun resetSlot(x: Int, y: Int) {
window.bukkitInv.setItem(x + y * 9, ItemStack.of(Material.AIR))
x + y * 9 vllt noch in eine variable packen?
x + y * 9
RenderObject
RenderBoundary
ObserverListener
@@ -0,0 +41,4 @@
return this
fun listen(callback: (T) -> Unit): () -> Unit {
Sollte den callback on init callen
@@ -0,0 +58,4 @@
class Observer<T>(private var value: T): ReadWriteProperty<Any?, T>, Observable<T>() {
Warum hält der observer einen value, sollte warscheinlic von observable geowned werden
@@ -0,0 +19,4 @@
package de.steamwar.kotlin.ui
abstract class ObserverListener {
die ganze struktur scheint mir hier überkomplieziert, ich würde eher erwarten Observer -> Observable und mehr nicht
No dependencies set.
The note is not visible to the blocked user.
Signed-off-by: Chaoscaot max@maxsp.de
Sieht erstmal ok aus. Fehlt halt noch ein bisschen utility aber ansonsten ist es ok
@@ -0,0 +69,4 @@onClose()InventoryClickEvent.getHandlerList().unregister(this)Hier bitte generisches unregister. Sodass man nicht vergiss irgendwas zu unregistern (
HandlerList.unregisterAlloder ähnliches)@@ -0,0 +37,4 @@render()}var item: ItemStack = ItemStack.of(Material.AIR)Hier fehlt natürlich noch das man das Item per hand zusammenbaut, also name ist ne property, material, amount etc.
@@ -0,0 +70,4 @@@EventHandlerfun onInventoryClick(event: InventoryClickEvent) {if (event.inventory.holder is UIWindow) {val window = event.inventory.holder as UIWindowval holder = event.inventory.holder; if(holder is UIWindow) { ...wäre hier deutlich schöner
@@ -39,2 +39,4 @@dependsOn(":SchematicSystem:shadowJar")dependsOn(":KotlinCore:shadowJar")template = "Bau21"worldName = "73"Den musst du auch in eine local steamwar.properties Datei legen im BauSystem Projekt. Dies wird so nicht mehr in main möglich sein!
@@ -34,6 +34,7 @@ dependencies {compileOnly(libs.classindex)annotationProcessor(libs.classindex)compileOnly(project(":SpigotCore", "default"))compileOnly(project(":KotlinCore", "default"))Aktuell doch noch nicht benötigt oder?
@@ -37,5 +37,6 @@ tasks.register<DevServer>("DevBau21") {dependsOn(":SpigotCore:shadowJar")dependsOn(":BauSystem:shadowJar")dependsOn(":SchematicSystem:shadowJar")dependsOn(":KotlinCore:shadowJar")Aktuell doch noch nicht benötigt oder?
@@ -1,3 +1,5 @@import org.jetbrains.kotlin.gradle.tasks.KotlinCompileDer Import wirklich nötig?
ja.
@@ -0,0 +22,4 @@import kotlin.properties.ReadWritePropertyimport kotlin.reflect.KPropertyclass Observer<T>(private var value: T): ReadWriteProperty<Any?, T> {Observer chaining? Mit sowas wie .transform auf einem Observer womit du einen DelegatedObserver bekommt der nur ein getValue hat?
@@ -0,0 +45,4 @@bukkitInv = KotlinCore.plugin.server.createInventory(this, size * 9, Component.translatable(title))}constructor(type: InventoryType, title: String, player: Player, render: WindowContext.() -> Unit): this(player, render) {Hier vllt prüfen, dass man Chest nicht nutzen darf!
@@ -0,0 +33,4 @@}override fun resetSlot(x: Int, y: Int) {window.bukkitInv.setItem(x + y * 9, ItemStack.of(Material.AIR))x + y * 9vllt noch in eine variable packen?RenderObjectabstraction, replacedRenderBoundarywithObserverListener, and updated slot calculation for inventory types.@@ -0,0 +41,4 @@return this}fun listen(callback: (T) -> Unit): () -> Unit {Sollte den callback on init callen
@@ -0,0 +58,4 @@}}class Observer<T>(private var value: T): ReadWriteProperty<Any?, T>, Observable<T>() {Warum hält der observer einen value, sollte warscheinlic von observable geowned werden
@@ -0,0 +19,4 @@package de.steamwar.kotlin.uiabstract class ObserverListener {die ganze struktur scheint mir hier überkomplieziert, ich würde eher erwarten Observer -> Observable und mehr nicht