8,323
edits
Paradox-01 (talk | contribs) (Seems Event OnActivate will be the method of choice to let XSI ask OniSplit GUI whether there are new tasks or updated resources.) |
Paradox-01 (talk | contribs) (+ OnValueChange event) |
||
Line 132: | Line 132: | ||
===Events=== | ===Events=== | ||
====OnActivate==== | ====OnActivate==== | ||
function siOnActivateEventTest_OnEvent( in_ctxt ) | function siOnActivateEventTest_OnEvent( in_ctxt ) | ||
Application.LogMessage "State: " + cstr(in_ctxt.GetAttribute("State")) | Application.LogMessage "State: " + cstr(in_ctxt.GetAttribute("State")) | ||
Line 140: | Line 139: | ||
end function | end function | ||
'''State becomes "False" when XSI loses its focus.''' | |||
'''State becomes "True" when XSI regains focus.''' | |||
Exchanging data between XSI and other programs is rather difficult. | Exchanging data between XSI and other programs is rather difficult. | ||
Line 195: | Line 195: | ||
end sub | end sub | ||
====OnValueChange==== | |||
' this event is fired 4 times (2 local, 2 global) | |||
' everytime when created, translated, rotated, or scaled | |||
' we only want one global | |||
firstValue = false | |||
function siOnValueChangeEventTest_OnEvent( in_ctxt ) | |||
if instr(cstr(in_ctxt.GetAttribute("Object")), ".kine.global") > 0 then | |||
if firstValue = false then | |||
' add more exit conditions here | |||
' e.g. selection mode | |||
' selection count | |||
' if obj is not an Oni obj or camera | |||
logmessage "Object at: " & selection(0).posx.value & " " & selection(0).posy.value & " " & selection(0).posz.value | |||
if replace(cstr(in_ctxt.GetAttribute("Object")),".kine.global", "") = "Camera" then | |||
logmessage "Obj is cam" | |||
end if | |||
firstValue = true | |||
else | |||
firstValue = false | |||
end if | |||
end if | |||
end function | |||
' INFO : Object at: -22,0187049984705 6,63004918144234 5,08830153431981 | |||
' INFO : Obj is cam | |||
This could be used to track camera and sound spheres positions. They values could be passed as command line argument to GUI. | |||
edits