Render.ru

как узнать, что пользователь открыл параметры объекта ? (для custAttributes)

#1
Привет !

я создал свой аттрибут с ролаутом для объекта, он добавляется к свой ствам объекта. Завязал переменные на елементы интерфейса, написал обработчики кликов.

вверху роллаута стоит выпадуха (выбираем тип стена/ребро), выбирая пункты которой мы активируем и деактивируем части нижних панелей (часть панелей нужна для стены, часть для ребра ). по умолчанию все елементы интерфейса кроме верхнего выставлены в фальш

У меня трудность :
когда я выставляю нужные параметры в одном объекте, потом в другом и возвращаюсь к первому - содерживое панелек сохраняеться (как и надо), но сами эти панельки деактивируються.

было бы решением задать событие, когда пользователь попадает в панель параметров объекта и там все это предусмотреть, но я не знаю, что это за событие (не нашел подходящего).

Посоветуйте плиз, как быть.
Вот код скрипта
-------------------------------------------------------------
weaponDataCA = attributes WallData
(
parameters main rollout:params
(
--hitPoints type:#float ui:hits default:10
--cost type:#float ui:cost default:100
--sound type:#string
body_name type:#string ui:selectedBody
wall_name type:#string ui:wall

objtype type:#integer ui:cbx1

)


rollout params "Wall Data"
(

pickButton pickBodyButton "Select phisycal body"
on pickBodyButton picked obj do
(
print"AAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
params.selectedBody.text=obj.name
)


editText selectedBody "Selected body:"



dropDownList cbx1 "verge or wall" items:#(" ","Wall", "verge")

fn updateEnable i =(
print i
params.pickVergeButton.enabled=true

if i==1 then (
params.pickVergeButton.enabled=false
params.selectedVerge.enabled=false
params.addedVerges.enabled=false
params.addVerge.enabled=false

params.selectWall.enabled=false
params.wall.enabled=false
)
if i==2 then (
params.pickVergeButton.enabled=true
params.selectedVerge.enabled=true
params.addedVerges.enabled=true
params.addVerge.enabled=true

params.selectWall.enabled=false
params.wall.enabled=false
)
if i==3 then (
params.pickVergeButton.enabled=false
params.selectedVerge.enabled=false
params.addedVerges.enabled=false
params.addVerge.enabled=false

params.selectWall.enabled=true
params.wall.enabled=true
)
)


on cbx1 selected i do
(
updateEnable i;
)

--print "RRRRRRRRRRRRRRRRRRRRRRRRR";

pickButton pickVergeButton "Select verge" enabled:false
editText selectedVerge "Selected verge:" enabled:false
listBox addedVerges "Added verges:" enabled:false
button addVerge "Add" enabled:false

pickButton selectWall "Select wall" enabled:false
on selectWall picked obj do
(
print"selectWall picked"
params.wall.text=obj.name
)


editText wall "wall:" enabled:false


-- spinner hits "Hit Points" type:#float
-- spinner cost "Cost" type:#float
-- dropdownlist sound_dd "Sound" items:#("boom", "sparkle", "zap", "fizzle")
-- on sound_dd selected i do sound = sound_dd.items
)

on params resized do (
print("open !")
)

)


custAttributes.add $ weaponDataCA

 
Сверху