mirror of
https://github.com/genxium/DelayNoMore
synced 2025-04-11 01:21:15 +00:00
Fixed data path for character select.
This commit is contained in:
parent
d623916b3c
commit
2751569e0c
@ -30,14 +30,14 @@
|
||||
"_active": true,
|
||||
"_components": [
|
||||
{
|
||||
"__id__": 75
|
||||
"__id__": 76
|
||||
},
|
||||
{
|
||||
"__id__": 76
|
||||
"__id__": 77
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 77
|
||||
"__id__": 78
|
||||
},
|
||||
"_opacity": 255,
|
||||
"_color": {
|
||||
@ -2612,7 +2612,7 @@
|
||||
}
|
||||
],
|
||||
"_prefab": {
|
||||
"__id__": 74
|
||||
"__id__": 75
|
||||
},
|
||||
"_opacity": 255,
|
||||
"_color": {
|
||||
@ -2808,15 +2808,21 @@
|
||||
"__id__": 68
|
||||
},
|
||||
"_enabled": true,
|
||||
"_normalMaterial": null,
|
||||
"_normalMaterial": {
|
||||
"__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432"
|
||||
},
|
||||
"_grayMaterial": null,
|
||||
"duration": 0.1,
|
||||
"zoomScale": 1.2,
|
||||
"clickEvents": [],
|
||||
"clickEvents": [
|
||||
{
|
||||
"__id__": 74
|
||||
}
|
||||
],
|
||||
"_N$interactable": true,
|
||||
"_N$enableAutoGrayEffect": false,
|
||||
"_N$transition": 2,
|
||||
"transition": 2,
|
||||
"_N$transition": 3,
|
||||
"transition": 3,
|
||||
"_N$normalColor": {
|
||||
"__type__": "cc.Color",
|
||||
"r": 255,
|
||||
@ -2872,6 +2878,16 @@
|
||||
},
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.ClickEvent",
|
||||
"target": {
|
||||
"__id__": 1
|
||||
},
|
||||
"component": "",
|
||||
"_componentId": "dd92bKVy8FJY7uq3ieoNZCZ",
|
||||
"handler": "onModeButtonClicked",
|
||||
"customEventData": ""
|
||||
},
|
||||
{
|
||||
"__type__": "cc.PrefabInfo",
|
||||
"root": {
|
||||
@ -2906,6 +2922,7 @@
|
||||
"__id__": 46
|
||||
}
|
||||
],
|
||||
"chosenSpeciesId": 0,
|
||||
"_id": ""
|
||||
},
|
||||
{
|
||||
|
@ -461,7 +461,7 @@
|
||||
"array": [
|
||||
0,
|
||||
0,
|
||||
223.42897822823446,
|
||||
210.59754059453806,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
|
@ -14,16 +14,14 @@ cc.Class({
|
||||
type: cc.Node,
|
||||
default: []
|
||||
},
|
||||
chosenSpeciesId: {
|
||||
type: cc.Integer,
|
||||
default: 0
|
||||
},
|
||||
},
|
||||
|
||||
// LIFE-CYCLE CALLBACKS:
|
||||
onLoad() {
|
||||
const modeBtnClickEventHandler = new cc.Component.EventHandler();
|
||||
modeBtnClickEventHandler.target = this.mapNode;
|
||||
modeBtnClickEventHandler.component = "Map";
|
||||
modeBtnClickEventHandler.handler = "onGameRule1v1ModeClicked";
|
||||
this.modeButton.clickEvents.push(modeBtnClickEventHandler);
|
||||
},
|
||||
onLoad() {},
|
||||
|
||||
onSpeciesSelected(evt, val) {
|
||||
for (let cell of this.characterSelectCells) {
|
||||
@ -32,7 +30,12 @@ cc.Class({
|
||||
comp.chosenFlag.node.active = false;
|
||||
} else {
|
||||
comp.chosenFlag.node.active = true;
|
||||
this.chosenSpeciesId = val;
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
onModeButtonClicked(evt) {
|
||||
this.mapNode.getComponent("Map").onGameRule1v1ModeClicked(this.chosenSpeciesId);
|
||||
},
|
||||
});
|
||||
|
@ -1230,9 +1230,10 @@ othersForcedDownsyncRenderFrame=${JSON.stringify(othersForcedDownsyncRenderFrame
|
||||
self.enableInputControls();
|
||||
},
|
||||
|
||||
onGameRule1v1ModeClicked(evt, cb) {
|
||||
onGameRule1v1ModeClicked(chosenSpeciesId) {
|
||||
const self = this;
|
||||
self.battleState = ALL_BATTLE_STATES.WAITING;
|
||||
window.chosenSpeciesId = chosenSpeciesId; // TODO: Find a better way to pass it into "self.initAfterWSConnected"!
|
||||
window.initPersistentSessionClient(self.initAfterWSConnected, null /* Deliberately NOT passing in any `expectedRoomId`. -- YFLu */ );
|
||||
self.hideGameRuleNode();
|
||||
},
|
||||
|
@ -58,10 +58,21 @@ window.getBoundRoomCapacityFromPersistentStorage = function() {
|
||||
return (null == boundRoomCapacityStr ? null : parseInt(boundRoomCapacityStr));
|
||||
};
|
||||
|
||||
window.getChosenSpeciesIdFromPersistentStorage = function() {
|
||||
const boundRoomIdExpiresAt = parseInt(cc.sys.localStorage.getItem("boundRoomIdExpiresAt"));
|
||||
if (!boundRoomIdExpiresAt || Date.now() >= boundRoomIdExpiresAt) {
|
||||
window.clearBoundRoomIdInBothVolatileAndPersistentStorage();
|
||||
return null;
|
||||
}
|
||||
const chosenSpeciesIdStr = cc.sys.localStorage.getItem("chosenSpeciesId");
|
||||
return (null == chosenSpeciesIdStr ? 0 : parseInt(chosenSpeciesIdStr));
|
||||
};
|
||||
|
||||
window.clearBoundRoomIdInBothVolatileAndPersistentStorage = function() {
|
||||
window.boundRoomId = null;
|
||||
cc.sys.localStorage.removeItem("boundRoomId");
|
||||
cc.sys.localStorage.removeItem("boundRoomCapacity");
|
||||
cc.sys.localStorage.removeItem("chosenSpeciesId");
|
||||
cc.sys.localStorage.removeItem("boundRoomIdExpiresAt");
|
||||
};
|
||||
|
||||
@ -84,6 +95,7 @@ window.handleHbRequirements = function(resp) {
|
||||
window.boundRoomCapacity = resp.bciFrame.boundRoomCapacity;
|
||||
cc.sys.localStorage.setItem('boundRoomId', window.boundRoomId);
|
||||
cc.sys.localStorage.setItem('boundRoomCapacity', window.boundRoomCapacity);
|
||||
cc.sys.localStorage.setItem('chosenSpeciesId', window.chosenSpeciesId);
|
||||
cc.sys.localStorage.setItem('boundRoomIdExpiresAt', Date.now() + 10 * 60 * 1000); // Temporarily hardcoded, for `boundRoomId` only.
|
||||
}
|
||||
console.log(`Handle hb requirements #3`);
|
||||
@ -179,6 +191,13 @@ window.initPersistentSessionClient = function(onopenCb, expectedRoomId) {
|
||||
}
|
||||
}
|
||||
|
||||
if (null == window.chosenSpeciesId) {
|
||||
window.chosenSpeciesId = getChosenSpeciesIdFromPersistentStorage();
|
||||
}
|
||||
if (null != window.chosenSpeciesId) {
|
||||
urlToConnect = urlToConnect + "&speciesId=" + window.chosenSpeciesId;
|
||||
}
|
||||
|
||||
const clientSession = new WebSocket(urlToConnect);
|
||||
clientSession.binaryType = 'arraybuffer'; // Make 'event.data' of 'onmessage' an "ArrayBuffer" instead of a "Blob"
|
||||
|
||||
@ -230,9 +249,9 @@ window.initPersistentSessionClient = function(onopenCb, expectedRoomId) {
|
||||
const peerAddrList = resp.rdf.peerUdpAddrList;
|
||||
console.log(`Got DOWNSYNC_MSG_ACT_PEER_UDP_ADDR peerAddrList=${JSON.stringify(peerAddrList)}; boundRoomCapacity=${window.boundRoomCapacity}`);
|
||||
for (let j = 0; j < 3; ++j) {
|
||||
setTimeout(()=> {
|
||||
DelayNoMore.UdpSession.upsertPeerUdpAddr(peerAddrList, window.boundRoomCapacity, window.mapIns.selfPlayerInfo.JoinIndex); // In C++ impl it actually broadcasts the peer-punching message to all known peers within "window.boundRoomCapacity"
|
||||
}, j*500);
|
||||
setTimeout(() => {
|
||||
DelayNoMore.UdpSession.upsertPeerUdpAddr(peerAddrList, window.boundRoomCapacity, window.mapIns.selfPlayerInfo.JoinIndex); // In C++ impl it actually broadcasts the peer-punching message to all known peers within "window.boundRoomCapacity"
|
||||
}, j * 500);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
Loading…
x
Reference in New Issue
Block a user