Привет !
я создал свой аттрибут с ролаутом для объекта, он добавляется к свой ствам объекта. Завязал переменные на елементы интерфейса, написал обработчики кликов.
вверху роллаута стоит выпадуха (выбираем тип стена/ребро), выбирая пункты которой мы активируем и деактивируем части нижних панелей (часть панелей нужна для стены, часть для ребра ). по умолчанию все елементы интерфейса кроме верхнего выставлены в фальш
У меня трудность :
когда я выставляю нужные параметры в одном объекте, потом в другом и возвращаюсь к первому - содерживое панелек сохраняеться (как и надо), но сами эти панельки деактивируються.
было бы решением задать событие, когда пользователь попадает в панель параметров объекта и там все это предусмотреть, но я не знаю, что это за событие (не нашел подходящего).
Посоветуйте плиз, как быть.
Вот код скрипта
-------------------------------------------------------------
weaponDataCA = attributes WallData
(
parameters main rolloutarams
(
--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
я создал свой аттрибут с ролаутом для объекта, он добавляется к свой ствам объекта. Завязал переменные на елементы интерфейса, написал обработчики кликов.
вверху роллаута стоит выпадуха (выбираем тип стена/ребро), выбирая пункты которой мы активируем и деактивируем части нижних панелей (часть панелей нужна для стены, часть для ребра ). по умолчанию все елементы интерфейса кроме верхнего выставлены в фальш
У меня трудность :
когда я выставляю нужные параметры в одном объекте, потом в другом и возвращаюсь к первому - содерживое панелек сохраняеться (как и надо), но сами эти панельки деактивируються.
было бы решением задать событие, когда пользователь попадает в панель параметров объекта и там все это предусмотреть, но я не знаю, что это за событие (не нашел подходящего).
Посоветуйте плиз, как быть.
Вот код скрипта
-------------------------------------------------------------
weaponDataCA = attributes WallData
(
parameters main rolloutarams
(
--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