Конвертировать Java в Kotlin (с функцией в качестве аргумента) - PullRequest
0 голосов
/ 16 сентября 2018

Я хочу этот код в Котлине:

public class LobbySwitcherGui extends AGUI
{
    public LobbySwitcherGui()
    {
        super(27, "someTitle");

        setItem(0, new ItemStack(Material.NETHER_STAR), player -> {
            player.sendMessage("Some message");
        });
    }
}

но если я конвертирую его в IntellIJ, это не сработает для меня.

class LobbySwitcherGui : AGUI(27, "someTitle")
{
    init {
        setItem(0, ItemStack(Material.NETHER_STAR), { player -> player.sendMessage("Some message") })
    }
}

Последний аргумент не работает, и я не могу это исправить ..

класс AGUI это: https://ghostbin.com/paste/gjdzo

1 Ответ

0 голосов
/ 16 сентября 2018

kotlin может создавать Runnables и Function, BiFunction и т. Д. Таким образом. вы, кажется, создаете что-то под названием YourGUIAction, проверьте, может ли это быть заменено на action: (Player) -> Unit или вообще (ArgumentTypes) -> ReturnType

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...