Обычный способ сделать это аналогичен "системе достижений", которую используют многие игры, в которой используется система, аналогичная шаблону проектирования Observer.Вы настроили бы глобально доступный объект-получатель с функцией для получения какого-либо пакета данных.
Затем каждая функция, которая должна влиять на отображаемую учебную информацию, будет сообщать об этом объекте-получателе и сообщатьэто выполненное действие.
Так, например, у вас есть окно с сообщением, чтобы сказать игроку «Срубить 10 деревьев».После этого вы можете получить объект Receiver с функцией, подобной TutorialMessage(var Action:String, var Parameter:object):void
Когда они выполняют действие «Срубить дерево», тогда конец функции chopDownTree () будет содержать вызов функции обмена сообщениями объекта-получателя Receiver.TutorialMessage("TreeChoppedDown", 1)
(т. Е. Рубленое 1 дерево).
Этот получатель затем, по существу, запустит массивный случай переключения, чтобы определить природу действия, и интерпретировать его будет на основе вашей логики.В этом случае это добавит значение параметра к некоторой переменной счетчика, а когда оно достигнет 10, отобразится следующее учебное сообщение.