Make game module name dynamic and delay sending messages until we know it.

This commit is contained in:
Ian Gulliver
2014-04-26 00:03:36 -04:00
parent 20dc706f22
commit 23c79998c8

View File

@@ -9,20 +9,17 @@
<div id="unityPlayer"></div>
<script type="text/javascript">
var gameObject;
var gameModuleName;
var messageQueue = [];
var onUnityLoad = function(obj) {
gameObject = obj.ref;
while (messageQueue.length) {
var item = messageQueue.shift();
sendUnityMessage(item[0], item[1]);
}
};
var sendUnityMessage = function(funcName, msg) {
msg = msg || '';
if (gameObject) {
gameObject.SendMessage('Cosmopolite', funcName, msg);
if (gameObject && gameModuleName) {
gameObject.SendMessage(gameModuleName, funcName, msg);
} else {
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(
'unityPlayer',
'debug.unity3d',