Windrunner
Верь мне!
offline
Опыт:
4,565Активность: |
Не хочет создавать массив code.
В общем,нужно сделать систему,в которую можно передавать функцию,которая будет должна исполняться в определенный момент,при этом эта функция всегда разная,т.е я должен ее передавать в качестве аргумента. Но,когда я попытался сделать эту систему MUI(чтобы можно было сразу использовать нескольким юнитам),то мне сказало,что нельзя создавать массивы переменных типа code.Как тогда сделать то,что мне нужно в данном случае?(Каким-то образом иметь возможность изменять функцию,которая будет вызываться в последний момент.) Склоняюсь с impletment( if (thistype.myFunc.exits) then вызывать эту функцию else не делать ничего), но мне не прельщает тот факт,что этот модуль просто копирует отдельные части кода в каждую структуру,в которую я его суну,а это не очень хороший ход. Как быть? |
04.05.2012, 20:14 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hate
конь вакуумный
offline
Опыт:
43,117Активность: |
разве есть тип данных code?)...
и скажи что именно ты там пытаешься муи сделать... мб не надо таких танцев с бубнами как ты описал |
04.05.2012, 20:18 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Doc
offline
Опыт:
63,163Активность: |
Нельзя создавать массив code. Можно создавать массив таймеров, boolexpr, в общем того, что хранит code. |
04.05.2012, 20:19 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Windrunner
Верь мне!
offline
Опыт:
4,565Активность: |
Итак,я хочу сделать систему движения,которая будет выполнять определенную функцию после окончания движения,тоесть:
Как это реализовать?Я думал,чтобы в структуре MoveUnit содержалась функция,которая должна быть исполнена,но так нельзя,как тогда? |
04.05.2012, 20:41 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hate
конь вакуумный
offline
Опыт:
43,117Активность: |
а вызов другой функции из этой не катит? |
04.05.2012, 20:49 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Windrunner
Верь мне!
offline
Опыт:
4,565Активность: |
Hatsume_Hate:
Не очень понял,как мне это поможет? Мне же и нужно в конце концов из onTick вызвать нужную функцию,которая предварительно передается через переменную onEnd. |
04.05.2012, 21:01 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
prog
offline
Опыт:
32,865Активность: |
Windrunner, часто для этих целей пользуются ExecuteFunc и TriggerEvaluate |
04.05.2012, 21:09 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Windrunner
Верь мне!
offline
Опыт:
4,565Активность: |
Все понял,идея,в общем-то хорошая,но есть один минус - если пользоваться ExecuteFunc,то придется настоящие имена функций из библиотек/структур вручную писать.И другой,более важный вопрос - как при помощи ExecuteFunc передавать нужные данные? Отредактировано Windrunner, 04.05.2012 в 21:36. |
04.05.2012, 21:10 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
Например, так xgm.ru/forum/showpost.php?p=867903&postcount=7 |
04.05.2012, 21:50 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Windrunner
Верь мне!
offline
Опыт:
4,565Активность: |
Так и думал,ладно,спасибо,тогда,если можно,последний вопрос,чтобы новую тему уж не создвать:
Как тут все сделать?Если использовать static,то проблема вроде исправляется,но тогда нельзя использовать переменные этой структуры. |
04.05.2012, 22:21 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
ScorpioT1000
Работаем
offline
Опыт: отключен
|
и не получится, только статик. ищи про "аттачи" и хеш. Это действительно другая тема |
04.05.2012, 22:30 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|