Added setImmediate(), made it so that old un-recompiled games are
essentially calling setImmediate() when they call set(), since set() used to be immediate. git-svn-id: svn+ssh://src.earth.threerings.net/vilya/trunk@197 c613c5cb-e716-0410-b11b-feb51c14d237
This commit is contained in:
@@ -157,7 +157,21 @@ public class EZGameControl extends EventDispatcher
|
||||
*/
|
||||
public function set (propName :String, value :Object, index :int = -1) :void
|
||||
{
|
||||
callEZCode("setProperty_v1", propName, value, index);
|
||||
callEZCode("setProperty_v1", propName, value, index, false);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set a property, but have this client immediately set the value so that
|
||||
* it can be re-read. The property change event will still arrive and
|
||||
* will be your clue as to when the other clients will see the newly
|
||||
* set value. Be careful with this method, as it can allow data
|
||||
* inconsistency: two clients may see different values for a property
|
||||
* if one of them recently set it immediately, and the resultant
|
||||
* PropertyChangedEvent's oldValue also may not be consistent.
|
||||
*/
|
||||
public function setImmediate (propName :String, value :Object, index :int = -1) :void
|
||||
{
|
||||
callEZCode("setProperty_v1", propName, value, index, true);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -164,8 +164,17 @@ public class GameControlBackend
|
||||
o["getPlayers_v1"] = getPlayers_v1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set a property.
|
||||
*
|
||||
* Note: immediate defaults to true, even though immediate=false is
|
||||
* the general case. We are providing some backwards compatibility
|
||||
* to old versions of setProperty_v1() that assumed immediate and did
|
||||
* not pass a 4th value.
|
||||
* All callers should now specify that value explicitely.
|
||||
*/
|
||||
public function setProperty_v1 (
|
||||
propName :String, value :Object, index :int) :void
|
||||
propName :String, value :Object, index :int, immediate :Boolean = true) :void
|
||||
{
|
||||
validatePropertyChange(propName, value, index);
|
||||
|
||||
@@ -173,6 +182,9 @@ public class GameControlBackend
|
||||
_ezObj.ezGameService.setProperty(
|
||||
_ctx.getClient(), propName, encoded, index,
|
||||
false, null, createLoggingConfirmListener("setProperty"));
|
||||
if (immediate) {
|
||||
_ezObj.applyPropertySet(propName, value, index);
|
||||
}
|
||||
}
|
||||
|
||||
public function testAndSetProperty_v1 (
|
||||
|
||||
Reference in New Issue
Block a user