продолжаем писать консоль. пользовательские команды
Добавлено: 10 ноя 2018, 15:07
Кчау
Продолжаем писать консоль, лол
Сегодня:
Сделал скрипт Commands в нём указал дефолтные команды, для всех проектов.
Что бы туда больше не залезать написал скрипт UserCommands, будут полезны и для других пользователей(собираюсь поделиться с друзьями)
в скрипте UserComands у меня есть массив с командами(что бы не агрилась консоль) но он только за это и отвечает(массив)
в скрипте Commands я пытаюсь писать ф-цию, что если введённая команда не совпадает ни с одной из дефолтных, то программа пробегается по тому массиву и в случае несоответствия выдаёт Error
Дебаг.Логи я расставил для контролирования, на первое время.
что происходит:
Error не выдаётся только если вся строка совпадает с разрешёнными командами
(я введенную строку по пробелам разбиваю на отдельные команды)
Вот и всё, что я хотел вам поведать \0/
А теперь вопрос: что не так? Как мне сделать так, что бы Еррор выдавался только если первое слово не соответствует разрешённым?
Продолжаем писать консоль, лол
Сегодня:
Сделал скрипт Commands в нём указал дефолтные команды, для всех проектов.
Что бы туда больше не залезать написал скрипт UserCommands, будут полезны и для других пользователей(собираюсь поделиться с друзьями)
в скрипте UserComands у меня есть массив с командами(что бы не агрилась консоль) но он только за это и отвечает(массив)
в скрипте Commands я пытаюсь писать ф-цию, что если введённая команда не совпадает ни с одной из дефолтных, то программа пробегается по тому массиву и в случае несоответствия выдаёт Error
Синтаксис:
Используется csharp
if(UserCommands.UC.UserAllowedComand.Length != 0)
{
Debug.Log("Err2");
for(int i = 0; i < UserCommands.UC.UserAllowedComand.Length; i++)
{
if(Command[0] != UserCommands.UC.UserAllowedComand[i])
{
Debug.Log("Err3");
CheckingErrors = CheckingErrors + 1;
}
}
if(CheckingErrors == 0)
{
Debug.Log("Go");
UserCommands.UC.Commands = Commands;
}
else if(CheckingErrors >= 1)
{
Debug.Log("Stop");
GameConsole.Error("Uncorrect Command");
}
}
else if(UserCommands.UC.UserAllowedComand.Length == 0)
{
GameConsole.Error("Uncknown Command");
}
{
Debug.Log("Err2");
for(int i = 0; i < UserCommands.UC.UserAllowedComand.Length; i++)
{
if(Command[0] != UserCommands.UC.UserAllowedComand[i])
{
Debug.Log("Err3");
CheckingErrors = CheckingErrors + 1;
}
}
if(CheckingErrors == 0)
{
Debug.Log("Go");
UserCommands.UC.Commands = Commands;
}
else if(CheckingErrors >= 1)
{
Debug.Log("Stop");
GameConsole.Error("Uncorrect Command");
}
}
else if(UserCommands.UC.UserAllowedComand.Length == 0)
{
GameConsole.Error("Uncknown Command");
}
Дебаг.Логи я расставил для контролирования, на первое время.
что происходит:
Error не выдаётся только если вся строка совпадает с разрешёнными командами
(я введенную строку по пробелам разбиваю на отдельные команды)
Вот и всё, что я хотел вам поведать \0/
А теперь вопрос: что не так? Как мне сделать так, что бы Еррор выдавался только если первое слово не соответствует разрешённым?