1
1
package vip.cdms.allaymc.kotlinx.form
2
2
3
- import org.allaymc.api.entity.interfaces.EntityPlayer
4
3
import org.allaymc.api.form.Forms
5
4
import org.allaymc.api.form.element.Button
6
5
import org.allaymc.api.form.element.ImageData
7
6
import org.allaymc.api.form.type.SimpleForm
8
7
import vip.cdms.allaymc.kotlinx.Player
9
- import vip.cdms.allaymc.kotlinx.Receiver
10
8
11
9
class SimpleFormBuilder : FormBuilder <SimpleForm , SimpleFormBuilder .Response >() {
12
10
var content = " "
@@ -23,12 +21,12 @@ class SimpleFormBuilder : FormBuilder<SimpleForm, SimpleFormBuilder.Response>()
23
21
fun Button.convert () = Button (text, image?.convert())
24
22
25
23
val buttons = mutableListOf<Button >()
26
- val callbacks = linkedMapOf<Button , MutableList <Receiver < EntityPlayer > ? >> ()
24
+ val callbacks = linkedMapOf<Button , MutableList <( Player .() - > Unit ) ? >> ()
27
25
28
- fun buttonOf (text : String , image : Image ? = null, callback : Receiver < EntityPlayer > ? = null) =
26
+ fun buttonOf (text : String , image : Image ? = null, callback : ( Player .() -> Unit ) ? = null) =
29
27
Button (text, image).apply { callbacks.getOrPut(this ) { mutableListOf () } + = callback }
30
- fun button (text : String , image : Image ? = null, callback : Receiver < EntityPlayer > ? = null) =
31
- buttonOf(text, image, callback).apply { buttons + = this }
28
+ fun button (text : String , image : Image ? = null, callback : ( Player .() -> Unit ) ? = null) =
29
+ buttonOf(text, image, callback).also { buttons + = it }
32
30
33
31
@JvmInline
34
32
value class Response (val index : Int ) : FormBuilder.Response
0 commit comments