删除 YouleNexus 内嵌 .git,统一由根仓库唯一管理。提交: - projects/ 旧 H5 模板 Game_Surface_3 与各子游戏源码 - cocoscreator_projects/YouleNexus 工程 + cocos-creator-mcp 扩展源码 - CLAUDE.md、.mcp.json 等配置 library/temp/node_modules/dist 等缓存由 .gitignore 排除。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
452 lines
13 KiB
JavaScript
452 lines
13 KiB
JavaScript
|
|
|
|
|
|
Game_Modify.StartWar=function(_msg){//开战
|
|
gp_ui_kaizhan();
|
|
Utl.changePlayerState(0);
|
|
huifang=0;
|
|
}
|
|
Game_Modify._ReceiveData=function(_msg){//接收数据包
|
|
set_level (101,1);
|
|
gp_sfb(_msg);
|
|
}
|
|
Game_Modify.createRoom=function(_roomtype,_infinite){//创建房间
|
|
GameUI.openRoomInfo();
|
|
}
|
|
Game_Modify.myJoinRoom=function(_msg){//自己进入房间
|
|
if (Utl.getIsInfinite() == 1) {//如果是无限局
|
|
for (var i = 0; i < _msg.data.players.length; i++) {
|
|
Utl.setGrade(i,Desk.GetPlayerBySeat(i).bean);
|
|
}
|
|
}
|
|
GameUI.openRoomInfo();
|
|
}
|
|
Game_Modify.Reconnect=function(_deskinfo){//重连
|
|
set_self(291,57,35,0,0);
|
|
game = _deskinfo;
|
|
game.suoyoupai = _deskinfo.pai;
|
|
if(Utl.getIsDebugger() == 1)
|
|
{
|
|
game.pai = _deskinfo.pai[Utl.getMySeat()];
|
|
}
|
|
game.tuoguan = game.tuoguan[Utl.getMySeat()];
|
|
|
|
//game.difen = GameData.gameConfig.difen[_deskinfo.leixing[4]-1];
|
|
game.xs_paishu = [];
|
|
for(var i = 0;i<_deskinfo.carlen.length;i++){
|
|
game.xs_paishu[i] = _deskinfo.carlen[i];
|
|
}
|
|
game.ersansi = [1017,1034,1051,1068];
|
|
if ( game.leixing[3]==2) {
|
|
if (game.laizi ==14 ) {
|
|
game.laizi = 1;
|
|
}else if(game.laizi ==15 ) {
|
|
game.laizi = 2;
|
|
}
|
|
}else {
|
|
game.laizi = 0;
|
|
game.laizi_bian = [[],[],[]]
|
|
}
|
|
if (Utl.getIsInfinite() == 1) {//如果是无限局
|
|
if(_deskinfo.zhuangtai == 1){
|
|
Utl.setDeskStage(1);
|
|
}else{
|
|
Utl.setDeskStage(0);
|
|
for (var i = 0; i < 3; i++) {
|
|
if (Utl.getPlayerReadyState(i) == 1) {//是否准备
|
|
Utl.setPlayerPrepare(i,1);
|
|
}
|
|
}
|
|
}
|
|
for (var i = 0; i < game.people; i++) {
|
|
Utl.setGrade(i,Desk.GetPlayerBySeat(i).bean);
|
|
}
|
|
}
|
|
if (game.zhuangtai>0&&game.zhuangtai<4) {
|
|
huifang=0;
|
|
}
|
|
gp_chonglian();
|
|
}
|
|
Game_Modify.stopAllSounds=function(){//关闭所有声音 (游戏声音)
|
|
|
|
}
|
|
Game_Modify.Free=function(_msg){//投票解散结果为同意时,点击结果界面确认的按钮时触发
|
|
if (game.zhuangtai == 1) {
|
|
game.jushu[0] = game.jushu[0]-1;
|
|
}
|
|
game.zhuangtai = 3;
|
|
kg=2;
|
|
game.grade = _msg.data.grade;
|
|
game.quanbufen = _msg.data.quanbufen;
|
|
gp_ui_daju();
|
|
}
|
|
Game_Modify.DeskInfo=function(_msg){//开战状态下自己加入是牌桌数据
|
|
if(_msg.zhuangtai == 1){
|
|
Utl.setDeskStage(1);
|
|
}else{
|
|
Utl.setDeskStage(0);
|
|
Utl.setPlayerPrepare(Utl.getMySeat(), 0);
|
|
}
|
|
}
|
|
Game_Modify.breakRoom=function(){//游戏已开局情况下自己退出房间触发
|
|
|
|
}
|
|
|
|
Game_Modify.playerJoinRoom=function(seat){//其他玩家加入房间
|
|
if (Utl.getIsInfinite() == 0) {//如果bu是无限局
|
|
if (seat == 0) {
|
|
set_group(219,37,0,0,0);
|
|
set_self(1135+Utl.changeToStatus(0),37,1,0,0);
|
|
}
|
|
}else {
|
|
Utl.setGrade(seat,Desk.GetPlayerBySeat(seat).bean);
|
|
if (Utl.getPlayerReadyState(seat) == 1) {//是否准备
|
|
Utl.setPlayerPrepare(seat,1);
|
|
}else {
|
|
Utl.setPlayerPrepare(seat,0);
|
|
}
|
|
}
|
|
}
|
|
Game_Modify.playerLeaveRoom=function(seat){//其他玩家离开房间
|
|
if (seat == 0) {
|
|
set_group(219,37,0,0,0);
|
|
//set_self(1135+Utl.changeToStatus(0),37,1,0,0);
|
|
}
|
|
}
|
|
Game_Modify.updateScene = function(){//更新游戏界面
|
|
//根据本地数据重新显示界面
|
|
if (huifang == 0) {
|
|
gp_chonglian();
|
|
}
|
|
}
|
|
Game_Modify.closeGameScene=function(){//关闭游戏界面
|
|
|
|
}
|
|
Game_Modify.playerOffline = function(seat){//玩家离线
|
|
|
|
}
|
|
Game_Modify.playerOnline = function(seat){//玩家上线
|
|
|
|
}
|
|
Game_Modify.playerphonestate = function(seat,type){//玩家电话状态type->挂断1->接打电话、有电话进来的状态
|
|
|
|
}
|
|
Game_Modify.shakeEvent = function(){
|
|
switch(GameData.shakeID){
|
|
case Game_Config.shakeList.startwar://摇一摇开战(如果有主动开战)
|
|
var data={};
|
|
data.agentid=GameData.AgentId;
|
|
data.gameid=GameData.GameId;
|
|
data.playerid=C_Player.playerid;
|
|
data.roomcode=Desk.roomcode;
|
|
Net.Send_self_makewar(data);
|
|
Func.stopshake();
|
|
GameData.shakeID=Game_Config.shakeList.nil;
|
|
break;
|
|
}
|
|
}
|
|
|
|
Game_Modify.calResult = function(inputArr){
|
|
var xsd = [];
|
|
for (var i=0;i<game.people;i++) {
|
|
xsd[i] = min_replaceAll(String(ifast_abs(inputArr[i])),'\\.', 'b', '');
|
|
}
|
|
var input_mul = min_replaceAll(String(GameData.Multiple), "b", ".", false);
|
|
input_mul = Number(input_mul);
|
|
if(input_mul==0){
|
|
input_mul = 1;
|
|
}
|
|
for (var i=0;i<game.people;i++) {
|
|
//xsd[i]=game.grade[i]*input_mul;
|
|
set_self(1541+i,20,30*ifast_inttostr(xsd[i]).length,0,0);
|
|
set_self(1541+i,7,xsd[i]);
|
|
set_self(1541+i,18,get_self(1537+i,18)+36-15*ifast_inttostr(ifast_abs(inputArr[i])).length,0,0);
|
|
set_self(1545+i,7,"x"+input_mul);
|
|
set_self(1545+i,18,375+334*i-7*ifast_inttostr(input_mul).length,0,0);
|
|
if(inputArr[i]<0) //显示zong分
|
|
{
|
|
set_self(1549+i,37,1);
|
|
set_self(1549+i,18,get_self(1541+i,18)-30,0,0);
|
|
}
|
|
else
|
|
{
|
|
set_self(1549+i,37,0);
|
|
}
|
|
}
|
|
}
|
|
Game_Modify.onEnterMainScene = function(roomtype){//进入游戏主场景
|
|
set_group(219,37,0,0,0);
|
|
if (Utl.getIsInfinite() == 1) {//如果是无限局
|
|
var jbc=1;
|
|
set_self(1480,7,"("+roomtype[6][0]+"倍;限制"+roomtype[6][1]+")",0,0);
|
|
set_self(1479,43,jbc,0,0);
|
|
set_self(1480,37,1,0,0);
|
|
set_self(1479,37,1,0,0);
|
|
} else {
|
|
set_self(1135+Utl.changeToStatus(0),37,1,0,0);
|
|
}
|
|
set_self(291,57,35,0,0);
|
|
}
|
|
Game_Modify.onExitMainScene = function(){//退出游戏主场景
|
|
if (Utl.getIsInfinite() == 1) {//如果是无限局
|
|
Utl.setPlayerPrepare(Utl.getMySeat(), 0);
|
|
}
|
|
console.log("退出游戏主场景");
|
|
}
|
|
Game_Modify.onGameConfig = function(_gameConfig){//获取到游戏配置时调用(只在game_config有数据时才调用)
|
|
zhadanfen = _gameConfig.zha;
|
|
//game.hf_difen = _gameConfig.difen;
|
|
Game_Modify.Type_1 = [
|
|
{id:0,des:_gameConfig.numbergames[0]+"局"+"(房卡X"+_gameConfig.buckle[0]+")",roomcard:1,type:1},
|
|
{id:1,des:_gameConfig.numbergames[1]+"局"+"(房卡X"+_gameConfig.buckle[1]+")",roomcard:2,type:2}
|
|
];
|
|
Game_Modify.Type_2 = [
|
|
{id:0,des:_gameConfig.people[0]+"人",type:1},
|
|
{id:1,des:_gameConfig.people[1]+"人",type:2}
|
|
//{id:2,des:_gameConfig.people[2]+"人",type:3}
|
|
];
|
|
Game_Modify.Type_3 = [
|
|
{id:0,des:_gameConfig.zha[0]+"分",type:1},
|
|
{id:1,des:_gameConfig.zha[1]+"分",type:2},
|
|
{id:2,des:_gameConfig.zha[2]+"分",type:3},
|
|
{id:3,des:_gameConfig.zha[3]+"分",type:4}
|
|
];
|
|
//Game_Modify.Type_5 = [
|
|
//{id:0,des:_gameConfig.difen[0]+"分",type:1},
|
|
//{id:1,des:_gameConfig.difen[1]+"分",type:2}
|
|
//{id:2,des:_gameConfig.difen[2]+"分",type:3}
|
|
//];
|
|
dfpeizhi = _gameConfig.difen; //低分配置
|
|
xxcbs = _gameConfig.beishu; //星星场倍数
|
|
xxcxz = _gameConfig.xianzhi; //星星场限制
|
|
}
|
|
Game_Modify.onEnterVideo = function(){//进入牌局回放触发
|
|
huifang = 1;
|
|
set_level (101,1);
|
|
for ( var i=1001;i<=1068;i++) {
|
|
set_self(i,33,50,0,0);
|
|
}
|
|
set_self(291,7,Game_Modify.roomDes,0,0);
|
|
var aaa = game.hf_huifang[game.hf_ju].pai;
|
|
var bbb = game.hf_playerid.length;
|
|
var ccc = game.hf_huifang[game.hf_ju].kaijufen;
|
|
var ddd = game.hf_huifang[game.hf_ju].zhuang;
|
|
baipai(aaa,bbb);
|
|
game.jushu = game.hf_huifang[game.hf_ju].jushu;
|
|
gp_ui_xs_jushu();
|
|
xs_zongfen(ccc,bbb);
|
|
hf_shizhong(ddd);
|
|
set_self(1054,57,2000,0,0);
|
|
set_self(1139,37,1,0,0);
|
|
set_self(1140,37,1,0,0);
|
|
set_self(1140,43,2,0,0);
|
|
set_self(1141,37,1,0,0);
|
|
if (game.hf_huifang[game.hf_ju].laizi.length == 0) {
|
|
set_self(1143,37,0,0,0);
|
|
}else {
|
|
set_self(1143,43,(game.hf_huifang[game.hf_ju].laizi-1)%13+1,0,0);
|
|
set_self(1143,18,567,0,0);
|
|
set_self(1143,19,-10,0,0);
|
|
set_self(1143,33,45,0,0);
|
|
set_self(1143,1,567,0,0);
|
|
set_self(1143,37,1,0,0);
|
|
}
|
|
}
|
|
Game_Modify.onSurrender = function(_msg){//收到投降回包
|
|
|
|
}
|
|
Game_Modify.onReady = function(seat){//玩家准备触发
|
|
if (Utl.getIsInfinite() == 1) {//如果是无限局
|
|
Utl.setPlayerPrepare(seat, 1);
|
|
}
|
|
}
|
|
Game_Modify.getRoomInfo = function(roomtype,type,tea){//tea为茶水费如有此属性且不为undefined或者null茶水费以此为准
|
|
//通过roomtype获取房间描述每行最多18个字符超过需要自己换行type1系统房间2非系统房间
|
|
console.log("Game_Modify.getRoomInfo:"+roomtype);
|
|
return Game_Modify.Type_2[roomtype[1]-1].des+" 底"+roomtype[4]+"分"+
|
|
" 炸"+Game_Modify.Type_3[roomtype[2]-1].des + " "+Game_Modify.Type_4[roomtype[3]-1].des;
|
|
}
|
|
Game_Modify.getStarLimit = function(roomtype){//通过roomtype获取房间星星场下限数量
|
|
console.log("Game_Modify.getStarLimit:"+roomtype);
|
|
return roomtype[6][1];
|
|
}
|
|
Game_Modify.getMult = function(roomtype,type){//通过roomtype获取房间星星场倍数
|
|
if(type == 1){
|
|
return roomtype[6][0];
|
|
}else{
|
|
return 1;
|
|
}
|
|
}
|
|
|
|
Game_Modify.getFullRoomInfo = function(roomtype){//通过roomtype获取房间全部信息描述 每行最多26个字符超过需要自己换行
|
|
console.log("Game_Modify.getFullRoomInfo:"+roomtype);
|
|
var xxcjiesao="";
|
|
if (roomtype[5] == 2) {
|
|
//xxcjiesao = "\n星星场\n("+roomtype[6][0]+"倍;限制"+roomtype[6][1]+")";
|
|
}
|
|
return Game_Modify.Type_1[roomtype[0]-1].des +'\n'+ Game_Modify.Type_2[roomtype[1]-1].des +"\n炸"+Game_Modify.Type_3[roomtype[2]-1].des+" 底"+roomtype[4]+"分"+xxcjiesao
|
|
+ "\n"+Game_Modify.Type_4[roomtype[3]-1].des + "\n"+Game_Modify.Type_6[roomtype[7]-1].des;;
|
|
}
|
|
Game_Modify.onOpenHelp = function(spid){//打开帮助页面触发
|
|
|
|
}
|
|
//显示大厅界面触发
|
|
Game_Modify.onMainMenuScene = function(){
|
|
set_self(1054,57,0,0,0);
|
|
set_self(1075,57,0,0,0);
|
|
set_self(1061,57,0,0,0);
|
|
set_self(1060,57,0,0,0);
|
|
set_self(1053,57,0,0,0);
|
|
for (var i = 201; i < 223; i++) {
|
|
set_group(i,37,0,0,0);
|
|
}for (var i = 301; i < 305; i++) {
|
|
set_group(i,37,0,0,0);
|
|
}for (var i = 501; i < 510; i++) {
|
|
set_group(i,37,0,0,0);
|
|
}gp_ui_paihuanyuan();
|
|
}
|
|
//确认数字输入框回调
|
|
Game_Modify.onCheckInput = function(_result){
|
|
console.log(_result);
|
|
Utl.closeInputPanel();
|
|
switch (tanchuang){
|
|
case 0:
|
|
if(_result<=1)
|
|
{
|
|
difen = 1;
|
|
}
|
|
else if(_result >= dfpeizhi)
|
|
{
|
|
difen = dfpeizhi;
|
|
}
|
|
else
|
|
{
|
|
difen = _result;
|
|
}
|
|
set_self(1392,7,difen+"分"+"(1分~"+dfpeizhi+"分)");
|
|
break;
|
|
case 1:
|
|
if(_result<=xxcbs[0])
|
|
{
|
|
xxcshuju[0] = xxcbs[0];
|
|
xsxianzhi[0] = xxcshuju[0]*xxcxz[0];
|
|
xsxianzhi[1] = xxcshuju[0]*xxcxz[1];
|
|
}
|
|
else if(_result >= xxcbs[1])
|
|
{
|
|
xxcshuju[0] = xxcbs[1];
|
|
xsxianzhi[0] = xxcshuju[0]*xxcxz[0];
|
|
xsxianzhi[1] = xxcshuju[0]*xxcxz[1];
|
|
}
|
|
else
|
|
{
|
|
xxcshuju[0] = _result;
|
|
xsxianzhi[0] = xxcshuju[0]*xxcxz[0];
|
|
xsxianzhi[1] = xxcshuju[0]*xxcxz[1];
|
|
}
|
|
if (xxcshuju[1]<=xsxianzhi[0]) {
|
|
xxcshuju[1] = xxcshuju[0]*xxcxz[0];
|
|
}else if (xxcshuju[1]>=xsxianzhi[1]) {
|
|
xxcshuju[1] = xxcshuju[0]*xxcxz[1];
|
|
}
|
|
set_self(1482,7,xxcshuju[0]);
|
|
set_self(1482,20,24*ifast_inttostr(xxcshuju[0]).length,0,0);
|
|
set_self(1475,7,"(最小:"+xsxianzhi[0]+"最大:"+xsxianzhi[1]+")",0,0);
|
|
set_self(1483,7,xxcshuju[1]);
|
|
set_self(1483,20,24*ifast_inttostr(xxcshuju[1]).length,0,0);
|
|
break;
|
|
case 2:
|
|
if(_result<=xsxianzhi[0])
|
|
{
|
|
xxcshuju[1] = xsxianzhi[0];
|
|
}
|
|
else if(_result >= xsxianzhi[1])
|
|
{
|
|
xxcshuju[1] = xsxianzhi[1];
|
|
}
|
|
else
|
|
{
|
|
xxcshuju[1] = _result;
|
|
}
|
|
set_self(1483,7,xxcshuju[1]);
|
|
set_self(1483,20,24*ifast_inttostr(xxcshuju[1]).length,0,0);
|
|
break;
|
|
case 3:
|
|
if(_result<=0)
|
|
{
|
|
xxcshuju[2] = 0;
|
|
}
|
|
else if(_result >= xxccsf)
|
|
{
|
|
xxcshuju[2] = xxccsf;
|
|
}
|
|
else
|
|
{
|
|
xxcshuju[2] = _result;
|
|
}
|
|
set_self(1484,7,xxcshuju[2]);
|
|
set_self(1484,20,24*ifast_inttostr(xxcshuju[2]).length,0,0);
|
|
break;
|
|
}
|
|
}
|
|
|
|
Game_Modify.onCreateRoom = function(_data){//无限局创建新桌时返回游戏数据
|
|
if (Utl.getIsInfinite() == 1) {//如果是无限局
|
|
Utl.setGrade(Utl.getMySeat(),Desk.GetPlayerBySeat(Utl.getMySeat()).bean);
|
|
}
|
|
}
|
|
Game_Modify.getLeaveLimit = function(roomtype){//获取星星场离场限制
|
|
return roomtype[6][1];
|
|
}
|
|
//成功获取定位信息触发
|
|
Game_Modify.onLocationInfo = function(_locationInfo){
|
|
|
|
}
|
|
//进入游戏界面创建牌桌之前调用
|
|
Game_Modify.onCreateDesk = function(roomtype){
|
|
console.log("onCreateDesk:"+roomtype);
|
|
}
|
|
//通过roomtype获取是否开启视频功能0->不开启1->开启
|
|
Game_Modify.getVideoByRoomType = function(roomtype){
|
|
return 1;
|
|
}
|
|
Game_Modify.getRoomTopDescAry = function(roomtype){
|
|
//return ["牛几几倍","一副牌","特色玩特色玩法"];
|
|
if (Utl.getIsInfinite() != 1) {//如果不是无限局
|
|
if(Game_Modify.roomDes && Game_Modify.roomDes.length>0)
|
|
{
|
|
var s=Game_Modify.roomDes.split(") ");
|
|
s=s[1].split(" ");
|
|
return [zongju+"局",s[0]+" ",s[1],s[2],s[3],s[4]];
|
|
}
|
|
|
|
return [""];
|
|
}else {
|
|
var roomdes =Game_Modify.Type_2[roomtype[1]-1].des+"关牌 底"+roomtype[4]+"分"+
|
|
" 炸"+Game_Modify.Type_3[roomtype[2]-1].des + " "+Game_Modify.Type_4[roomtype[3]-1].des ;//+ " "+Game_Modify.Type_6[roomtype[7]-1].des
|
|
var s=roomdes.split(" ");
|
|
return [s[0]+" ",s[1],s[2],s[3]];//,s[4]
|
|
}
|
|
}
|
|
//星星场房间列表
|
|
Game_Modify.getShareRoom = function(_msg){
|
|
|
|
}
|
|
//玩家自己退出房间
|
|
Game_Modify.myExitRoom = function(seat){
|
|
|
|
}
|
|
//接收到换座包触发
|
|
Game_Modify.changeSeat = function(seat1,seat2){
|
|
|
|
}
|
|
//关闭vip选项时调用
|
|
Game_Modify.onCloseVip = function(){
|
|
|
|
}
|
|
//判断房间是否为金币场(是金币场返回1否则返回0)
|
|
Game_Modify.getRoomMode = function(roomtype){
|
|
return 0;
|
|
}
|
|
|