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