Помогите Свернуть/развернуть

Волк

1 Июл 2018
242
5
23
27
Сделал приватный конфиг InfoPanel и задался вопросом:
Как сделать кнопку которая смогла бы сворачивать панель и разворачивать?
Кто знает сможете помочь?
unknown.png
 
Destroy в помощь
Сделал приватный конфиг InfoPanel и задался вопросом:
Как сделать кнопку которая смогла бы сворачивать панель и разворачивать?
Кто знает сможете помочь?
unknown.png
CuiHelper.DestroyUi();
 
Последнее редактирование:
Всем привет.
Прошу сразу прощения за то что поднимаю эту тему, НО всё же.

Имеется СUI. Открываю и закрываю её нормально. Закрываю командой CuiHelper.DestroyUi(player, "NameCUI");
Вопрос как закрыть CUI при перезапуске плагина?
Пробовал сделать так
private void Init(BasePlayer player)
{
CuiHelper.DestroyUi(player, "NameCUI");
}
не помогло.

И тут же второй вопрос:
Как возможно проверить запущен ли CUI или же нет и если запущен то команда не выполняется если нет то соответственно всё отработало?

Прошу подсказки. Только обучаюсь
 
Вопрос как закрыть CUI при перезапуске плагина?

C#:
        void Unload()
        {
            foreach (var player in BasePlayer.activePlayerList)
            {
                CuiHelper.DestroyUi(player, Layer);
            }
        }

Как возможно проверить запущен ли CUI или же нет и если запущен то команда не выполняется если нет то соответственно всё отработало?
Возможно попробовать сделать bool, при открытии ui делать его true, при закрытии false.
 
  • Мне нравится
Реакции: Mister_X
Спасибо Drop Dead за помощь.
Хотел бы уточнить на счет правильности по поводу bool
В начале плагина создал переменную
Код:
public bool tеst;
далее в блок написал test == false
Код:
void Unload()
{
    foreach (var player in BasePlayer.activePlayerList)
    {
          CuiHelper.DestroyUi(player, Layer);
    }
    test == false;
}
Так же переменную test добавил где команда на закрытие UI
А в команду которая открывает это UI после вызова добавил test == true

Вроде всё работает вот только правильно ли я сделал или нет вопрос хороший?
 
Хотел бы уточнить на счет правильности по поводу bool
В начале плагина создал переменную
Код:
public bool tеst;
далее в блок написал test == false
Код:
void Unload()
{
    foreach (var player in BasePlayer.activePlayerList)
    {
          CuiHelper.DestroyUi(player, Layer);
    }
    test == false;
}
Так же переменную test добавил где команда на закрытие UI
А в команду которая открывает это UI после вызова добавил test == true

Вроде всё работает вот только правильно ли я сделал или нет вопрос хороший?

сделай метод

C#:
void DestroyUI(BasePlayer player)
{
    CuiHelper.DestroyUi(player, layer);
    test=false;
}

при закрытии UI кнопкой вызывай этот метод консольной командой

ну или же вместо bool можно использовать dictionary а при открытии и закрытии уи добавлять/удалять игрока, а там где тебе нужно проверить открыта ли уи проверять значение в словаре.
 
  • Мне нравится
Реакции: Mister_X
Недавно начал изучать C# и ещё много не знаю подскажите пожалуйста как на кнопку повесить метод?
 
Components, там есть раздел command
Это понятно. Мне Drop Dead сказал что
при закрытии UI кнопкой вызывай этот метод консольной командой
отсюда и вопрос как вызвать этот метод кнопкой?

Я в данный момент сделал так создал команду
Код:
[Command("test")]
private void TestCommand(IPlayer player, string command, string[] args)
{
    //мой код
}

Далее в command написал команду
"command": "chat.say /test"

Так вроде всё работает, НО мне почему то кажется что есть методы лучше чем у меня сейчас сделаны.
 
Это понятно. Мне Drop Dead сказал что

отсюда и вопрос как вызвать этот метод кнопкой?

Я в данный момент сделал так создал команду
Код:
[Command("test")]
private void TestCommand(IPlayer player, string command, string[] args)
{
    //мой код
}

Далее в command написал команду
"command": "chat.say /test"

Так вроде всё работает, НО мне почему то кажется что есть методы лучше чем у меня сейчас сделаны.
Создай ConsoleCommand и вызывай без chat.say
 
Недавно начал изучать C# и ещё много не знаю подскажите пожалуйста как на кнопку повесить метод?

Button = { Command = "CommandName" }

отсюда и вопрос как вызвать этот метод кнопкой?


C#:
        [ConsoleCommand("CommandName")]
        private void CommandName(ConsoleSystem.Arg args)
        {
            BasePlayer player = args.Player();
            if (player == null) return;
           //// ВЫЗЫВАЕШЬ МЕТОД
        }

При нажатии на кнопку будет выполняться код команды "CommandName", и вызываться метод.
 
  • Мне нравится
Реакции: xkrystalll
Вот не выходит у меня один вопрос из головы. А почему команду именно через консоль делать? Почему нельзя сделать ее через чат chat.say /command?
 
Вот не выходит у меня один вопрос из головы. А почему команду именно через консоль делать? Почему нельзя сделать ее через чат chat.say /command?
Можно, но проще через консольную, а ещё аргументы ты скорее всего замахаешься передавать через чат
 
  • Мне нравится
Реакции: Drop Dead
Активность
Пока никто не печатает сообщение