Make game module name dynamic and delay sending messages until we know it.
This commit is contained in:
@@ -9,20 +9,17 @@
|
|||||||
<div id="unityPlayer"></div>
|
<div id="unityPlayer"></div>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
var gameObject;
|
var gameObject;
|
||||||
|
var gameModuleName;
|
||||||
var messageQueue = [];
|
var messageQueue = [];
|
||||||
|
|
||||||
var onUnityLoad = function(obj) {
|
var onUnityLoad = function(obj) {
|
||||||
gameObject = obj.ref;
|
gameObject = obj.ref;
|
||||||
while (messageQueue.length) {
|
|
||||||
var item = messageQueue.shift();
|
|
||||||
sendUnityMessage(item[0], item[1]);
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
var sendUnityMessage = function(funcName, msg) {
|
var sendUnityMessage = function(funcName, msg) {
|
||||||
msg = msg || '';
|
msg = msg || '';
|
||||||
if (gameObject) {
|
if (gameObject && gameModuleName) {
|
||||||
gameObject.SendMessage('Cosmopolite', funcName, msg);
|
gameObject.SendMessage(gameModuleName, funcName, msg);
|
||||||
} else {
|
} else {
|
||||||
messageQueue.shift([funcName, msg]);
|
messageQueue.shift([funcName, msg]);
|
||||||
}
|
}
|
||||||
@@ -42,6 +39,18 @@ var doLogout = function() {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
var registerGameObject = function(name) {
|
||||||
|
gameModuleName = name;
|
||||||
|
while (messageQueue.length) {
|
||||||
|
var item = messageQueue.shift();
|
||||||
|
sendUnityMessage(item[0], item[1]);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
var pluginDidLoad = function() {
|
||||||
|
// Called by the Unity example code, but not used.
|
||||||
|
};
|
||||||
|
|
||||||
unityObject.embedUnity(
|
unityObject.embedUnity(
|
||||||
'unityPlayer',
|
'unityPlayer',
|
||||||
'debug.unity3d',
|
'debug.unity3d',
|
||||||
|
|||||||
Reference in New Issue
Block a user