Ошибка "неожиданный символ" при использовании monodevelop
Приветствую! Я прохожу курс, который учит разработке игр Unity в дополнение к основам программирования на C#, и я дошел до той части, где я должен сделать свое собственное текстовое приключение в свободной форме. Для этого я копирую базовую структуру с предыдущей, видео-ассистированной. И все же я нахожу некоторые странные ошибки, которые не могу объяснить.
Вот сценарий до сих пор :
использование UnityEngine; использование UnityEngine.Пользовательский интерфейс; использование системы.Коллекции;
публичная классная игра: MonoBehaviour {
public Text text; private enum states {start, light, cave, path1, egg, TH, ocean, bEnd1, summer, basement, weed, upstairs, devil, awake, bEnd2, computer, bEnd3, GOLDEN} private states myState; // Use this for initialization void Start () { myState = states.start; } // Update is called once per frame void Update () { print (myState); if (myState == states.start) { start(); } else if (myState == states.light) { light(); } else if (myState == states.cave) { cave(); } else if (myState == states.path1) { path1(); } else if (myState == states.egg) { egg(); } else if (myState == states.TH) { TH(); } else if (myState == states.ocean) { ocean(); } else if (myState == states.bEnd1) { bEnd1(); } else if (myState == states.summer) { summer(); } else if (myState == states.basement) { basement(); } else if (myState == states.weed) { weed(); } else if (myState == states.upstairs) { upstairs(); } else if (myState == states.devil) { devil(); } else if (myState == states.awake) { awake(); } else if (myState == states.bEnd2) { bEnd2(); } else if (myState == states.computer) { computer(); } else if (myState == states.bEnd3) { bEnd3(); } else if (myState == states.GOLDEN) { GOLDEN(); } } } void start () { text.text = "This is like a bad dream. You don't know how you got here, where this place is, or why you got here, but you know that you feel uneasy. " + "Something is very wrong with all of this. You should try and look for a way out of...wherever this is! \n \n " + "You could go and see about that [L]ight in the distance, investigate the sound coming from a nearby [C]ave, or head down the nearby [P]ath..." ; if (Input.GetKeyDown(KeyCode.L)) {myState = states.light;} else if (Input.GetKeyDown(KeyCode.C)) {myState = states.cave;} else if (Input.GetKeyDown((KeyCode.P)) {myState = states.path1;} }
Моя проблема : Unity, похоже, не нравится последний возможный символ {(предфинальная строка) и говорит, что это неожиданный символ. Аналогично, пустота в этом фрагменте кода также неожиданна. Однако если я удалю ; после текстовой части того же блока, то вместо этого возникнет проблема с оператором "if" этого же блока. Насколько я вижу, я отлично копирую необходимые записи и код, так что это довольно озадачивает.
Мне было интересно, не потому ли это, что мое начальное состояние игры называется start with a non-capital S, тогда как функция с большой буквы S существует, но, возможно, нет? Казалось, он никогда не возражал против самого старта.
Другая информация: Unity V 4.6.9. f1 (в соответствии с инструкциями моего курса для простых, небольших проектов)
Спасибо.
Edit: Здравствуйте и спасибо за Ваш быстрый и полезный ответ,
Kornfeld Eliyahu Peter ! I'm not sure I understand your response in terms of what I should do, but adding another ( to it and the preceding line just shifts the Unexpected Symbol problem to the { character at the end of the same statement. Apologies What I have tried: Consulting prior, working script, posting on official Unity forums (Did not even come off Moderation for nearly 3 days at this point), analyzing code.