var storage = window.localStorage; var Utl = Utl||{}; Utl.Config={}; Utl.Config.pre_bgm = "tsgame_bgm_"; Utl.Config.bgm = ""; Utl.Config.pre_sound = "tsgame_sound_"; Utl.Config.sound = ""; Utl.Config.pre_wxinfo = "tsgame_wxinfo_"; Utl.Config.wxinfo = "tsgame_wxinfo"; Utl.Config.maxtime = 48;//小时 Utl.Config.pre_validtime = "tsgame_validtime_";//有效时间(时间戳) Utl.Config.validtime = "tsgame_validtime";//有效时间(时间戳) Utl.Config.pre_visitorinfo = "tsgame_visitorinfo_"; Utl.Config.visitorinfo = "tsgame_visitorinfo"; Utl.Config.pre_roomtype = "tsgame_roomtype_"; Utl.Config.roomtype = ""; Utl.Config.pre_multiple = "tsgame_multiple_"; Utl.Config.multiple = ""; Utl.Config.pre_shake = "tsgame_shake_"; Utl.Config.shake = ""; Utl.Config.pre_voice = "tsgame_voice_"; Utl.Config.voice = ""; Utl.Config.pre_roomlist = "tsgame_roomlist_"; Utl.Config.roomlist = ""; Utl.Config.pre_playerid = "tsgame_playerid_"; Utl.Config.playerid = ""; Utl.Config.pre_gradeinfo = "tsgame_gradeinfo_"; Utl.Config.gradeinfo = ""; Utl.Config.pre_shortcode = "tsgame_shortcode_"; Utl.Config.shortcode = ""; Utl.Config.pre_ownerNote = "tsgame_ownerNote_"; Utl.Config.ownerNote = ""; Utl.Config.pre_machineId = "tsgame_machineId_"; Utl.Config.machineId = ""; Utl.SetStorage=function(){ Utl.Config.bgm = Utl.Config.pre_bgm+GameData.GameId; Utl.Config.sound = Utl.Config.pre_sound+GameData.GameId+GameData.AgentId; Utl.Config.roomtype = Utl.Config.pre_roomtype+GameData.GameId+GameData.AgentId; Utl.Config.shake = Utl.Config.pre_shake+GameData.GameId+GameData.AgentId; Utl.Config.multiple = Utl.Config.pre_multiple+GameData.GameId+GameData.AgentId; Utl.Config.voice = Utl.Config.pre_voice+GameData.GameId+GameData.AgentId; Utl.Config.roomlist = Utl.Config.pre_roomlist+GameData.GameId+GameData.AgentId; Utl.Config.playerid = Utl.Config.pre_playerid+GameData.GameId+GameData.AgentId; Utl.Config.gradeinfo = Utl.Config.pre_gradeinfo+GameData.GameId+GameData.AgentId; Utl.Config.shortcode = Utl.Config.pre_shortcode+GameData.GameId+GameData.AgentId; Utl.Config.ownerNote = Utl.Config.pre_ownerNote+GameData.GameId+GameData.AgentId; Utl.Config.machineId = Utl.Config.pre_machineId; } Utl.SaveData = function(key,data){ storage.setItem(key,data); } Utl.checkKey=function(key){ if(storage.getItem(key)==null){ return false; }else{ return true; } } Utl.ReadData=function(key){ return storage.getItem(key); } Utl.RemoveItemByKey=function(key){ if(storage.getItem(key)!=null){ storage.removeItem(key); } } Utl.removeItemFromArray = function(_array,_data){ var index = _array.indexOf(_data); if(index>-1){ var r_data = _array.splice(index,1); return r_data; }else{ return null; } } Utl.ClearStorage=function(){ storage.clear(); } //对象克隆 Utl.clone = function(myObj){ if(typeof(myObj) != 'object') return myObj; if(myObj == null) return myObj; var myNewObj = new Object(); for(var i in myObj) myNewObj[i] = Utl.clone(myObj[i]); return myNewObj; } Utl.getMyInfo=function(){//获取玩家自身信息 var obj_return = Utl.clone(C_Player); return obj_return; } Utl.setGrade=function(seat,grade){//设置游戏主界面玩家积分信息 var ind=Logic.ChangeToStatus(C_Player.seat,seat); set_self(436+ind,7,grade,0,0); if(ind==0){ if(Game_Config.Info.myPositionDefault){ set_self(436+ind,18,get_self(376+ind,18,0,0,0) + get_self(376+ind,20,0,0,0)/2 - String(grade).gblen()*Game_Config.Info.textwidth_2/2,0,0); }else{ set_self(436+ind,18,Game_Config.Info.myPosition - String(grade).gblen()*Game_Config.Info.textwidth_2/2,0,0); } }else{ if(Game_Config.Info.otherPositionDefault){ set_self(436+ind,18,get_self(376+ind,18,0,0,0) + get_self(376+ind,20,0,0,0)/2 - String(grade).gblen()*Game_Config.Info.textwidth_2/2,0,0); }else{ set_self(436+ind,18,Game_Config.Info.position[ind-1] - String(grade).gblen()*Game_Config.Info.textwidth_2/2,0,0); } } } //播放背景音乐 Utl.playMusic=function(){ if(Utl.ReadData(Utl.Config.bgm)==1){ if(get_self(149,37,0,0,0)==1){//游戏界面中 Func.play_wav(Game_Config.soundList.MenuSceneMusic,-1); Func.play_wav(Game_Config.soundList.MainSceneMusic,1); }else{ Func.play_wav(Game_Config.soundList.MainSceneMusic,-1); Func.play_wav(Game_Config.soundList.MenuSceneMusic,1); } } } //播放音效 Utl.playSound=function(src){ if(Utl.ReadData(Utl.Config.sound)==1){ Func.play_wav(src,0); } } //停止播放背景音乐 Utl.stopMusic=function(){ Func.play_wav(Game_Config.soundList.MainSceneMusic,-1); Func.play_wav(Game_Config.soundList.MenuSceneMusic,-1); } //停止播放音效 Utl.stopSound=function(src){ Func.play_wav(src,-1); } //获取游戏ID Utl.getGameID=function(){ return GameData.GameId; } //获取代理商ID Utl.getAgentID=function(){ return GameData.AgentId; } //获取房间内某个座位玩家的playerid Utl.getPlayeridBySeat=function(seat){ var pobj=Desk.GetPlayerBySeat(seat); return pobj.playerid; } //获取房间内某个座位的玩家昵称 Utl.getNicknameBySeat=function(seat){ var pobj=Desk.GetPlayerBySeat(seat); return pobj.nickname; } //获取房间内某个座位的玩家性别 Utl.getSexBySeat=function(seat){ var pobj=Desk.GetPlayerBySeat(seat); return pobj.sex; } //获取玩家playerid Utl.getMyPlayerid=function(){ return C_Player.playerid; } //获取玩家playerid Utl.getMySex=function(){ return C_Player.sex; } //获得房间号 Utl.getRoomcode=function(){ return Desk.roomcode; } //获取玩家座位号 Utl.getMySeat=function(){ return C_Player.seat; } //玩家退出房间 Utl.Exit=function(){ Desk.Init(); C_Player.BreakRoom(); GameUI.JumpMenuScene(true); if(GameData.matchInfo){ GameData.matchInfo = null; Utl.openMatchUrl(); } } //设置LocalData Utl.setCookie=function(name, value, exp_hour) { if (!exp_hour) { exp_hour = 48; //默认时效48小时 } var exp = new Date(); Utl.SaveData(Utl.Config.validtime,exp.getTime() + exp_hour*60*60*1000); Utl.SaveData(name,value); } //读取LocalData Utl.getCookie=function(name) { if(GameData.versionState == 0){ var vt=Utl.ReadData(Utl.Config.validtime); if(vt==null){ return null; } var exp = new Date().getTime(); if(exp < vt){// return Utl.ReadData(name); }else{ return null; } }else{ return Utl.ReadData(name); } } //删除LocalData Utl.delCookie=function(name) { Utl.RemoveItemByKey(Utl.Config.validtime); Utl.RemoveItemByKey(name); } Utl.getAppService=function(){//ture为前台状态 false、为后台状态 return GameData.appservice; } //关闭所有窗口 Utl.closeWindow=function(){ GameUI.CloseSetting(); set_group(29,37,0,0,0); set_self(223,37,0,0,0); GameUI.CloseInfo(); GameUI.CloseChat(); set_self(38,37,0,0,0); set_self(39,37,0,0,0); GameUI.CloseHelp(); } Utl.changeToStatus = function(seat){//将座位转化为方位(以自己为原点0,逆时针旋转依次往上加) return Logic.ChangeToStatus(C_Player.seat,seat); } Utl.isMainScene = function(){//获取是否在游戏主界面 var rt = get_self(149,37,0,0,0); if(rt==1){ return true; } return false; } Utl.getMyOpenid = function(){//获取玩家openid return C_Player.openid; } Utl.getOnState = function(status){//获取玩家状态 return GameUI.onstate[status];//1-->离线 2-->通话 其他正常 } Utl.saveRoomtype = function(_data){//保存创建房间时的房间类型 var rt={}; rt.data = _data; rt = JSON.stringify(rt); Utl.SaveData(Utl.Config.roomtype,rt); } Utl.getRoomtype = function(){//获取上次创建的房间类型 var roomty = Utl.ReadData(Utl.Config.roomtype); if(roomty){ roomty = JSON.parse(roomty); //if(Game_Config.Max.SumOfRoomtype!=roomty.data.length){ //Utl.SaveData(Utl.Config.roomtype,""); //return null; //}else{ return roomty.data; //} } return null; } Utl.delRoomtype = function(){//删除房间类型 Utl.RemoveItemByKey(Utl.Config.roomtype); } //获得计算器计算结果(传入需要计算的数组) Utl.getMultipleResult = function(inputArr){ var mult = 1; GameData.OrgArr = [].concat(inputArr); if(Utl.checkKey(Utl.Config.multiple)){ var rd = Utl.ReadData(Utl.Config.multiple); if(GameUI.checkNumber(rd)){ var rt = Number(rd); if(rt>0){ mult = rt; }else{ Utl.SaveData(Utl.Config.multiple,"1"); } }else{ Utl.SaveData(Utl.Config.multiple,"1"); } }else{ Utl.SaveData(Utl.Config.multiple,"1"); } var rtarr = []; rtarr.length = inputArr.length; for(var i=0;i不可以1->可以 if(Desk.infinite == 1){C_Player.ChangeExit(1);return;} C_Player.ChangeExit(state); } Utl.getGameConfig = function(){//获取游戏配置 return GameData.gameConfig; } /* {"address":"江西省南昌市青云谱区施尧路靠近上海浦东发展银行(长天支行)","city":"南昌市", "cityCode":"0791","country":"中国","district":"青云谱区","latitude":28.623546,"longitude":115.900333, "province":"江西省","street":"施尧路"}*/ Utl.getLocation = function(){//获取玩家定位信息 if(C_Player.addr){ return Utl.clone(C_Player.addr); }else{ return null; } } Utl.getMathInfo = function(){ return Utl.clone(GameData.matchInfo); } Utl.getInfMode = function(){ return GameData.infMode; } Utl.changeBean = function(_bean,seat){ var ind = Logic.ChangeToStatus(C_Player.seat,seat); var pobj=Desk.GetPlayerBySeat(seat); pobj.bean = pobj.initialBean + _bean; var beanInfo = pobj.bean; pobj = null; if(get_self(216,37,0,0,0) == 1 && GameData.infoSeat == seat){ set_self(511,7,GameData.starName+":"+beanInfo,0,0); } //switch(ind){ //case 0: //C_Player.changeBean(_bean); //break; //default: //if(get_self(216,37,0,0,0) == 1 && GameData.infoSeat == seat){ //set_self(511,7,GameData.starName+":"+beanInfo,0,0); //} //break; //} } //关闭邀请显示 Utl.closeInvitation = function(){ set_self(183,37,0,0,0); set_self(195,37,0,0,0); } //关闭互动显示 Utl.closeCommunication = function(){ set_self(152,37,0,0,0); set_self(153,37,0,0,0); } //跳转比赛网页 Utl.openMatchUrl = function(){ Func.OpenurlTitleData(GameData.backUrl,"",""); } //牌局回放进入主界面 Utl.openVideo = function(_playerList,_seat,_roomcode){ /* _playerList 格式: [[昵称,头像],[]...] */ for(var i=0;i<_playerList.length;i++){ if(_playerList[i]!=null){ var pobj=Desk.GetPlayerBySeat(i); //pobj.SetDeskInfo(_playerList[i]); pobj.nickname = _playerList[i][0]; pobj.avatar = _playerList[i][1]; pobj = null; } } C_Player.seat = _seat; Desk.roomcode = _roomcode; //GameUI.HideNotice(); //GameData.Battery=Func.getbattery(); GameData.Battery = 1; if(GameData.Battery<=0.2){ set_self(338,43,3,0,0); }else{ set_self(338,43,2,0,0); } //GameData.NetWork=Func.getnetwork(); GameData.NetWork = 1; if(GameData.NetWork==2){ set_self(336,43,3,0,0); Func.getwifisignalLevel(); }else{ set_self(336,43,4,0,0); } if(GameData.OS == ConstVal.OS.apple){//苹果 set_self(154,1,174,0,0); set_self(155,1,174,0,0); set_self(156,1,173,0,0); }else if(GameData.OS == ConstVal.OS.android){//安卓 set_self(154,1,69,0,0); set_self(155,1,69,0,0); set_self(156,1,70,0,0); } set_group(21,37,1,0,0); set_self(150,37,0,0,0); set_self(151,37,0,0,0); set_self(152,37,0,0,0); set_self(153,37,0,0,0); for(var i=0;i0有高级选项 Utl.getAdvanced = function(){ return C_Player.advanced; } //获取游戏是否为审核版本(0非审核1审核) Utl.getVersionState = function(){ return GameData.versionState; } //获取游戏是否为h5版本(0->非h51->h5) Utl.getH5Version = function(){ return GameData.h5Version; } //游戏结算时调用 Utl.onGameFinished = function(inputArray,spidList){//结算信息[[昵称,输赢分数],.......] if(!spidList){ spidList=[]; } if(GameData.h5Version == 1){ var title = ""; var desc = ""; if(inputArray.length>3){ for(var i=0;i<5;i++){ if(inputArray.length>i){ if(i<2){ title += inputArray[i][1]+":" +Func.subString(inputArray[i][0],24-String(inputArray[i][1]).length - 3,true) + "\n"; }else{ desc += inputArray[i][1] + ":" +Func.subString(inputArray[i][0],24-String(inputArray[i][1]).length - 3,true) +"\n"; } } } }else{ title = Game_Config.Share.title; for(var i=0;i<3;i++){ if(inputArray.length>i){ desc += inputArray[i][1] + ":" +Func.subString(inputArray[i][0],24-String(inputArray[i][1]).length - 3,true) +"\n"; } } } GameData.shareAppMessage = Logic.getShareDataObj(title,desc); GameData.shareTimeline = Logic.getShareDataObj1(Game_Config.Share.title+Game_Config.Share.description,""); shareLink(GameData.shareTimeline,GameData.shareAppMessage); for(var i=0;i