I would appreciate if you could have a look at the following test case. It
raises a question on how to interprete the value of ObjectRefVaribale
objects and especially how to compare object references:
{:Application
("orefvar0/startup" 0)
:Items
(
{:ObjectRefVar
1
:InitiallyActive true
:Shared true
:OrigValue :ObjectRef 100
}
{:ObjectRefVar
2
:InitiallyActive true
:Shared true
:OrigValue :ObjectRef
("orefvar0/scene1" 100)
// ....
}
{:Scene
("orefvar0/scene1" 0)
:Items
(
{:Link
10
:InitiallyActive true
:Shared false
:EventSource 0
:EventType UserInput
:EventData 15
:LinkEffect
(
:TestVariable (("orefvar0/startup" 1) // target
1 // equal
:GObjectRef ("orefvar0/startup" 2) // comparison value
)
}
{:Link
11
:InitiallyActive true
:Shared false
:EventSource 1
:EventType TestEvent
:EventData True
:LinkEffect
(
// ...
)
}
{:Link
12
:InitiallyActive true
:Shared false
:EventSource 1
:EventType TestEvent
:EventData False
:LinkEffect
(
// ...
)
}
// ....
}
Question:
Does Link 11 or Link 12 fire, i.e. what is the result of the TestVaribale
action in the LinbkEffect of Link 10?
I think the question comes down to asking, is it the scope in which the
TestVaribale action gets executed, or the scope of the ObjectRefVaribale
object which determins how the value of object 1 is interpreted, hence what
does the object reference :ObjectRef 10 mean, ("orefvar0/startup" 100) or
("orefvar0/scene" 100)?
I think this question is neither clarified in chapter 51 nor in chapter 21.
BR Guido
-----------------------------------------------------------------
Guido Grassel guido.grassel@research.nokia.com
Nokia Research Center tel/fax: +358 9 4376-6827/6855
mailing address: location:
P.O. Box 422 Itälahdenkatu 22b
FIN-00045 Nokia Group 00210 Helsinki-Lauttasaari
Finland