| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779 |
- //////////////////////////////////////////////////////////////////////////
- //宏定义
- cc.Class({
- extends: cc.GameView,
- properties: {
- //m_btGPS:cc.Node,
- m_ActionPrefab: cc.Prefab,
- m_CardViewPrefab: cc.Prefab,
- //m_btChat: cc.Node,
- m_lLeftCardCount: cc.Label,
- // m_LeftCard:cc.Sprite,
- m_btOpation: cc.Button,
- m_Piao: cc.Node,
- m_BtXia1: cc.Toggle,
- m_BtXia2: cc.Node,
- m_BtXia5: cc.Node,
- m_MagicCtrl: cc.Node,
- m_Trustee: cc.Node,
- // m_LabHuangZhuang:cc.Label,
- // m_BirdNode:cc.Node,
- // m_BirdCard:[cc.Node],
- // m_CardFrame:[cc.SpriteFrame],
- m_RulesText: cc.Label,
- m_subsumlun: cc.Label,
- m_TableNumber: cc.Label,
- m_TableName: cc.Label,
- m_ClubNum: cc.Label,
- m_Dice: [cc.Node],
- m_Fengju: cc.Label,
- m_Rolldice: cc.Prefab,
- m_NewRolldice: cc.Node,
- m_noticeNode: cc.Node,
- m_gotFlowersNode: cc.Node,
- },
- ctor: function () {
- this.m_ActionArray = new Array();
- this.m_UserPosArr = new Array(
- cc.v2(575, 255),
- cc.v2(-580, 50),
- cc.v2(-580, -140),
- cc.v2(575, 50)
- );
- this.m_UserFaceArr = this.m_UserPosArr;
- // this.m_UserVoiceArr = new Array(
- // cc.v2(-262, 255),
- // cc.v2(-508, 50),
- // cc.v2(-508, -140),
- // cc.v2(500, 75)
- // );
- this.m_UserVoiceArr = this.m_UserFaceArr;
- this.m_UserChatArr = this.m_UserVoiceArr;
- this.m_ActionPos = new Array(
- cc.v2(0, 180),
- cc.v2(-380, 95),
- cc.v2(0, -160),
- cc.v2(380, 30)
- );
- this.m_UserInfo = new Array(); //用户信息
- this.m_pIClientUserItem = new Array();
- this.m_WeaveCard = new Array(); //组合扑克
- this.m_bTrustee = new Array();
- this.m_bLeave = new Array(); //是否离开
- this.m_UserCnt = 4;
- this.m_bInit = false;
- this.m_strCheckIP = new Array(4);
- this.m_strCheckDistance = new Array(6);
- for (var i = 0; i < 4; i++) {
- this.m_strCheckIP[i] = new Array(3);// 0:id 1:昵称 2:ip
- }
- this.m_noticeArr = [];
- },
- start: function () {
- this.InitView();
- this.Init();
- },
- Init: function () {
- if (this.m_bInit == true) return;
- this.m_bInit = true;
- this.ResetData();
- //玩家头像信息
- for (var i = 0; i < GameDef.GAME_PLAYER; i++) {
- this.m_UserInfo[i] = cc.instantiate(this.m_UserPrefab);
- this.m_UserNode.addChild(this.m_UserInfo[i]);
- this.m_UserInfo[i] = this.m_UserInfo[i].getComponent('UserPrefab_' + GameDef.KIND_ID);
- this.m_UserInfo[i].Init(this, i);
- this.m_UserInfo[i].node.active = false;
- }
- this.m_MagicCtrl = this.m_MagicCtrl.getComponent('HunPaiCtrl_' + GameDef.KIND_ID);
- this.m_MagicCtrl.SetEngine(this.m_GameClientEngine);
- this.m_CardView = cc.instantiate(this.m_CardViewPrefab).getComponent('CardView');
- this.m_CardNode.addChild(this.m_CardView.node);
- this.m_CardView.setClickSendCard(false);
- this.RectifyControl(window.SCENE_WIGHT, window.SCENE_HEIGHT);
- this.ShowPrefabDLG('MacInfo', this.m_NdPhoneNode);
- this.m_PiaoScore = 0;
- this.m_Trustee.active = false;
- this.m_RulesText.string = "";
- this.m_subsumlun.string = this.m_LbGameProgress.string;
- this.m_ClubNum.string = "";
- this.m_Fengju.string = "";
- this.m_TableNumber.string = this.m_LbTableID.string;
-
- },
- updateGameRule() {
- console.log("游戏规则-", GameDef.m_dwGameRuleArr)
- if (GameDef.m_dwGameRuleArr[3] > 0) {
- this.m_TableNumber.node.active = false;
- this.m_TableName.node.active = true;
- this.m_TableName.node.string = GameDef.getGameFieldName();
- } else {
- this.m_TableName.node.active = false;
- this.m_TableNumber.node.active = true;
- }
- },
- Fengju: function (cbQuan, cbFeng, display) {
- var directions = ["東", "南", "西", "北"];
- let cbQuanStr = directions[cbQuan];
- let cbFengStr = directions[cbFeng];
- this.m_Fengju.string = cbQuanStr + "風" + cbFengStr + "局";
- if (!display) {
- this.m_Fengju.string = "";
- }
- },
- DiceNum: function (dice) {
- this.ShowDice(true);
- for (var i = 0; i < this.m_Dice.length; i++) {
- for (var j = 0; j < this.m_Dice[i].children.length; j++) {
- if (dice[i] == j + 1) {
- this.m_Dice[i].children[j].active = true;
- } else {
- this.m_Dice[i].children[j].active = false;
- }
- }
- }
- console.log("骰子数", dice)
- },
- //隐藏显示骰子
- ShowDice: function (bShow) {
- for (var i = 0; i < this.m_Dice.length; i++) {
- this.m_Dice[i].active = bShow;
- }
- },
- //摇骰子
- OnRollDice: function (dice) {
- let newRolldiceInstance = cc.instantiate(this.m_Rolldice);
- this.m_NewRolldice.addChild(newRolldiceInstance);
- this.m_NewRolldice.active = true;
- newRolldiceInstance.getComponent("Rolldice").rollDice(dice);
- this.scheduleOnce(() => {
- this.m_NewRolldice.active = false;
- newRolldiceInstance.destroy();
- }, 2);
- },
- ChangeCardBack: function (Index) {
- // this.m_LeftCard.spriteFrame = this.m_CardFrame[Index];
- },
- ResetData: function () {
- //this.m_Piao.active = false;
- this.SetGangOperator(0);
- for (var i = 0; i < GameDef.GAME_PLAYER; ++i) {
- this.m_pIClientUserItem[i] = null;
- this.m_WeaveCard[i] = new Array(GameDef.MAX_WEAVE);
- this.m_bTrustee[i] = false;
- this.m_bLeave[i] = false;
- }
- this.m_wOutCardUser = INVALID_CHAIR;
- this.m_cbLeftCardCount = 0;
- this.m_lLeftCardCount.string = '';
- },
- //用户信息更新
- OnUserEnter: function (pUserItem, wChairID) {
- this.Init();
- this.m_pIClientUserItem[wChairID] = pUserItem;
- this.m_UserInfo[wChairID].SetUserItem(pUserItem);
- this.m_UserInfo[wChairID].node.active = true;
- if (pUserItem.GetUserStatus() == US_READY) this.m_UserInfo[wChairID].SetReady(pUserItem);
- var pGlobalUserData = g_GlobalUserInfo.GetGlobalUserData();
- if (pGlobalUserData.dwUserID != pUserItem.GetUserID()) return;
- if (this.m_GameClientEngine.IsLookonMode() == false) {
- //邀请第三方好友暂未开放,先隐藏按钮
- // this.m_BtFriend.active = (this.m_GameClientEngine.m_dwRoomID != 0 && this.m_GameClientEngine.m_wGameProgress == 0);
- this.m_BtFriend.active = false;
- this.m_BtStart.active = pUserItem.GetUserStatus() == US_SIT;
- }
- //if(pUserItem.GetUserStatus() == US_READY) this.SetUserState(wChairID, 'Ready');
- //this.m_UserInfo[wChairID].SetOffLine(pUserItem.GetUserStatus() == US_OFFLINE)
- //this.scheduleOnce(function(){this.UpdateGPS();}, 5);
- // this.CheckIP();
- if (wChairID == GameDef.MYSELF_VIEW_ID) {
- if (this.m_ChatControl == null) {
- this.ShowPrefabDLG('ChatPrefab', this.node, function (Js) {
- this.m_ChatControl = Js;
- this.m_ChatControl.ShowSendChat(false);
- this.m_ChatControl.InitHook(this);
- }.bind(this));
- }
- if (this.m_VoiceCtrl == null) {
- this.ShowPrefabDLG('VoiceCtrl', this.node.getChildByName('VoiceNode'), function (Js) {
- this.m_VoiceCtrl = Js;
- this.m_VoiceCtrl.InitVoice(this);
- var NdButton = this.m_VoiceCtrl.node.getChildByName('Voice').getChildByName('btVoice');
- NdButton.setPosition(570, -170);
- }.bind(this));
- }
- if (this.m_FaceExCtrl == null) {
- this.ShowPrefabDLG('FaceExCtrl', this.m_AniNode, function (Js) {
- this.m_FaceExCtrl = Js;
- }.bind(this));
- }
- //this.m_BtStart.active = !(this.m_GameClientEngine.IsLookonMode() || US_READY == pUserItem.GetUserStatus() || US_PLAYING == pUserItem.GetUserStatus());
- }
- },
- OnUserState: function (pUserItem, wChairID) {
- this.Init();
- this.m_pIClientUserItem[wChairID] = pUserItem;
- this.m_UserInfo[wChairID].OnUserOffLine(pUserItem.GetUserStatus() == US_OFFLINE);
- this.m_UserInfo[wChairID].SetReady(false);
- if (pUserItem.GetUserStatus() == US_READY) {
- this.m_UserInfo[wChairID].SetReady(true);
- this.m_GameClientEngine.PlayActionSound(pUserItem.GetChairID(), "ZHUNBEI");
- if (GameDef.MYSELF_VIEW_ID == wChairID)
- this.m_BtStart.active = false;
- }
- },
- OnUserLeave: function (pUserItem, wChairID) {
- this.Init();
- var ViewID = this.m_GameClientEngine.SwitchViewChairID(wChairID);
- for (var i in this.m_UserInfo) {
- this.m_UserInfo[i].UserLeave(pUserItem);
- }
- this.m_pIClientUserItem[wChairID] = null;
- },
- OnUserScore: function (pUserItem, wChairID) {
- // 初始化当前对象的状态
- this.Init();
- // 将用户项对象赋值给指定椅子ID的客户端用户项数组
- this.m_pIClientUserItem[wChairID] = pUserItem;
- // 更新指定椅子ID的用户信息对象中的分数
- this.m_UserInfo[wChairID].UpdateScore(pUserItem);
- },
- onLoadOthers: function () {
- },
- //调整控件
- RectifyControl: function (nWidth, nHeight) {
- //玩家信息
- for (var i = 0; i < GameDef.GAME_PLAYER; i++) {
- this.m_UserInfo[i].SetBenchmarkPos(this.m_UserPosArr[i]);
- }
- },
- OnBnClickedResultFriend: function () {
- cc.gSoundRes.PlaySound("Button");
- this.m_GameClientEngine.OnResultFriend();
- },
- OnBnClickedFriendBg: function () {
- this.m_WXShare.SetShowType(false);
- },
- OnBnClickedNextReady: function () {
- cc.gSoundRes.PlaySound("Button");
- this.m_GameClientEngine.OnNextReady();
- },
- OnBnClickedFollow: function () {
- this.m_GameClientEngine.OnFollow(0, 0);
- },
- OnBnClickedNoAdd: function () {
- this.m_GameClientEngine.OnFollow(1, 0);
- },
- OnBnClickedGiveUp: function () {
- this.m_GameClientEngine.OnGiveUp();
- },
- OnBnClickedFourTimes: function () {
- this.m_GameClientEngine.OnAddScore(1, 0);
- },
- OnBnClickedEightTimes: function () {
- this.m_GameClientEngine.OnAddScore(2, 0);
- },
- OnBnClickedSixteenTimes: function () {
- this.m_GameClientEngine.OnAddScore(3, 0);
- },
- OnExitGameCallback: function () {
- if (cc.sys.OS_IOS == cc.sys.os) {
- jsb.reflection.callStaticMethod("AppActivity", "exitGame");
- } else {
- jsb.reflection.callStaticMethod("org/cocos2dx/javascript/AppActivity", "exitGame", "()V");
- }
- },
- //取消托管
- OnBtCancelTrustee: function () {
- cc.gSoundRes.PlaySound("Button");
- this.m_GameClientEngine.OnCancelTrustee(false);
- },
- //设置托管
- SetTrustee: function (wTrusteeUser, bTrustee) {
- if (this.m_GameClientEngine.m_ReplayMode) return;
- //设置数据
- this.m_bTrustee[wTrusteeUser] = bTrustee;
- var wMeChairID = this.m_GameClientEngine.GetMeChairID();
- var ViewID = this.m_GameClientEngine.SwitchViewChairID(wTrusteeUser);
- this.m_UserInfo[ViewID].SetTrustee(bTrustee);
- if (wMeChairID == wTrusteeUser) {
- this.m_Trustee.active = bTrustee;
- }
- },
- SetBankerUser: function (wBankerUser) {
- //设置用户
- if (wBankerUser != this.m_wBankerUser) {
- //设置变量
- this.m_wBankerUser = wBankerUser;
- for (var i = 0; i < GameDef.GAME_PLAYER; i++) {
- if (this.m_UserInfo[i].node.active)
- this.m_UserInfo[i].SetBanker(i == wBankerUser);
- }
- }
- },
- SetCurrentUser(wCurrentUser) {
- var ViewID = this.m_GameClientEngine.SwitchViewChairID(wCurrentUser);
- for (let i = 0; i < GameDef.GAME_PLAYER; i++) {
- this.m_UserInfo[i].SetPlaying(ViewID == i);
- }
- this.m_CardView.SetCurrentUser(wCurrentUser);
- },
- //动作信息
- SetUserAction: function (wViewChairID, bUserAction, zimo) {
- //回放回滚
- if (this.m_GameClientEngine.m_bRollBack) return;
- // //设置变量
- if (wViewChairID < GameDef.GAME_PLAYER) {
- if (this.m_ActionArray[wViewChairID] == null) {
- var ActionPrefab = cc.instantiate(this.m_ActionPrefab);
- var ActionNode = ActionPrefab.getComponent('ActionCtrl_' + GameDef.KIND_ID);
- this.m_AniNode.addChild(ActionPrefab);
- ActionPrefab.setPosition(this.m_ActionPos[wViewChairID]);
- this.m_ActionArray[wViewChairID] = ActionNode;
- }
- this.m_ActionArray[wViewChairID].SetAction(bUserAction, zimo);
- }
- },
- //出牌信息
- SetOutCardInfo: function (wViewChairID, cbCardData) {
- },
- //设置剩余
- SetLeftCardCount: function (cbLeftCardCount) {
- if (this.m_cbLeftCardCount != cbLeftCardCount || cbLeftCardCount == 0) {
- this.m_cbLeftCardCount = cbLeftCardCount;
- this.m_lLeftCardCount.string = cbLeftCardCount.toString();
- }
- return;
- },
- //基础积分
- SetCellScore: function (lCellScore) {
- return;
- },
- //设置时间
- SetUserTimer: function (wChairID, wTimer) {
- var cbNum = this.m_CardView.m_CenterViewCtrl.setTimerNum(true/*wChairID!=INVALID_CHAIR*/, wTimer);
- return true;
- },
- // SetScoreInfo:function(wViewID,lScore){
- // this.m_UserInfo[wViewID].SetUserScore(lScore);
- // },
- SetPlayStatus: function (wChairID, cbStatus) {
- },
- //设置离开
- SetLeave: function (wLeaveUser, bLeave) {
- //校验数据
- if (wLeaveUser < 0 && wLeaveUser >= GameDef.GAME_PLAYER) {
- console.log("SetTrustee error 1 wLeaveUser < 0 && wLeaveUser >= GameDef.GAME_PLAYER");
- }
- if (this.m_bLeave[wLeaveUser] != bLeave) {
- //设置数据
- this.m_bLeave[wLeaveUser] = bLeave;
- this.m_UserInfo[wLeaveUser].SetLeave(bLeave);
- }
- },
- SetViewRoomInfo: function (dwRulesArr, dwServerRules) {
- // this.UpdateClubID();
- //this.m_LbGameRules.string = GameDef.GetRulesStr(dwRulesArr, dwServerRules);
- this.m_RulesText.string = GameDef.GetRulesStr(dwServerRules, dwRulesArr);
- this.m_LbTableID.string = '' + this.m_GameClientEngine.m_dwRoomID;
- //if(this.m_btGPS != null) this.m_btGPS.active = GameDef.IsNoCheat(dwServerRules);
- var bShow = this.m_GameClientEngine.IsLookonMode();
- if (this.m_BtChat) this.m_BtChat.active = !bShow;
- //GBS功能暂停,暂时隐藏
- //if (this.m_BtGPS) this.m_BtGPS.active = !bShow;
- if (this.m_BtMenu) this.m_BtMenu.active = !bShow;
- this.m_MagicCtrl.node.active = false;
- },
- UpdateRoomProgress: function () {
- this.m_LbGameProgress.string = '圈數:' + GameDef.GetProgress(this.m_GameClientEngine.m_wGameProgress, this.m_GameClientEngine.m_dwServerRules);
- },
- // 0:隐藏所有 1:显示按钮 2:显示等待
- SetGangOperator: function (wValue) {
- if (wValue == 1) {
- this.m_Piao.active = true;
- this.m_BtXia1.check();
- this.m_PiaoScore = 1
- if (this.m_GameClientEngine.m_dwRulesArr[0] & GameDef.GAME_RULE_SP_3)//飘123
- {
- this.m_BtXia2.active = true;
- this.m_BtXia5.active = false;
- }
- else if (this.m_GameClientEngine.m_dwRulesArr[0] & GameDef.GAME_RULE_SP_5)//飘135
- {
- this.m_BtXia2.active = false;
- this.m_BtXia5.active = true;
- }
- }
- else {
- this.m_Piao.active = false;
- }
- },
- OnBtPiao: function (tag, data) {
- this.m_PiaoScore = parseInt(data);
- },
- OnBtEnterPiao: function () {
- cc.gSoundRes.PlaySound("Button");
- this.m_GameClientEngine.OnDoubleOperate(this.m_PiaoScore);
- this.SetGangOperator(2);
- },
- // OnBtShowGPS:function(){
- // if(this.m_GameClientEngine.m_dwRoomID == 0) return;
- // this.ShowGamePrefab('TableUserGPS', GameDef.KIND_ID,this.node, function(Js){
- // this.m_TableGPSCtrl = Js;
- // this.m_TableGPSCtrl.Init();
- // this.m_TableGPSCtrl.UpdateUserData();
- // this.m_GameClientEngine.GetTableUserGPS();
- // }.bind(this));
- // },
- // OnGPSAddress:function(GPSInfo){
- // this.CheckDistance(GPSInfo);
- // if(this.m_TableGPSCtrl)
- // {
- // for(var i = 0; i < GameDef.GAME_PLAYER; i++)
- // {
- // if(this.m_pIClientUserItem[i] != null)
- // {
- // this.m_TableGPSCtrl.SetUserAddress(this.m_pIClientUserItem[i]);
- // }
- // }
- // this.m_TableGPSCtrl.UpdateAddress(GPSInfo);
- // }
- // },
- SetMakeMagicIndex: function (index) {
- if (this.m_MagicCtrl.node.active) {
- this.m_MagicCtrl.SetMakeMagicIndex(index);
- }
- },
- SetHuiPai: function (DingHui, CardData) {
- if (this.m_MagicCtrl.node.active) {
- this.m_MagicCtrl.SetHuiPai(DingHui, CardData);
- }
- },
- ShockHuiPai: function () {
- if (this.m_MagicCtrl.node.active) {
- this.m_MagicCtrl.ShockHuiPai();
- }
- },
- SetCurrentAction: function (viewID) {
- for (let i = 0; i < GameDef.GAME_PLAYER; i++) {
- if (this.m_UserInfo[i] != null) {
- this.m_UserInfo[i].SetCurrentAction(i == viewID);
- }
- }
- },
- // ShowBird:function(BirdCard, BirdCardCount)
- // {
- // var Self = this;
- // Self.scheduleOnce(function()
- // {
- // Self.m_BirdNode.active = true;
- // var BirdCardItem = new Array();
- // for(var i = 0; i < Self.m_BirdCard.length; i++)
- // {
- // Self.m_BirdCard[i].active = i < BirdCardCount;
- // if(i < BirdCardCount)
- // {
- // BirdCardItem[i] = Self.m_BirdCard[i].getComponent("CardItem");
- // BirdCardItem[i].SetCardData(BirdCard[i]);
- // }
- // }
- // Self.scheduleOnce(function(){ Self.m_BirdNode.active = false; }.bind(this), 2);
- // }.bind(this), 1);
- // },
- updateUserCount: function () {
- return;
- var UserCount = GameDef.GetPlayerCount();
- if (UserCount == 2) {
- this.m_UserInfo[0].node.active = true;
- this.m_UserInfo[2].node.active = true;
- this.m_UserInfo[1].node.active = false;
- this.m_UserInfo[3].node.active = false;
- } else {
- for (var i = 0; i < GameDef.GAME_PLAYER; i++) {
- var wViewID = this.m_GameClientEngine.SwitchViewChairID(i);
- this.m_UserInfo[wViewID].node.active = i < UserCount;
- }
- }
- // this.m_TableGPSCtrl.SetUserCount(UserCount);
- },
- //黄庄次数
- // SetHuangZhuang:function(wCount)
- // {
- // this.m_LabHuangZhuang.string = wCount;
- // },
- //更新gps
- UpdateGPS: function () {
- this.m_GameClientEngine.GetTableUserGPS();
- },
- onGameBroadcast(noticeStr) {
- if (!!noticeStr == false/* || noticeStr.length <= 0 */) {
- return;
- }
- if (false == !!this.m_noticeNode) {
- return;
- }
- let showNoticeCb = () => {
- if (0 == this.m_noticeArr.length) {
- this._showBroadcast(noticeStr);
- } else {
- this.m_noticeArr.push(noticeStr);
- }
- };
- if (!this.m_noticeNode.active) {
- this.m_noticeNode.active = true;
- this.m_noticeNode.opacity = 0;
- cc.tween(this.m_noticeNode)
- .to(0.25, { opacity: 255 })
- .call(() => {
- showNoticeCb();
- })
- .start();
- } else {
- showNoticeCb();
- }
- },
- //游戏跑马灯
- _showBroadcast(str) {
- let noticeNode = this.m_noticeLab.node;
- noticeNode.stopAllActions();
- if (!!str == false || str.length <= 0) {
- return;
- }
- let newShowCb = () => {
- if (this.m_noticeArr.length <= 0) {
- cc.tween(this.m_noticeNode)
- .to(0.25, { opacity: 0 })
- .call(() => {
- this.m_noticeNode.active = false;
- this.m_noticeNode.opacity = 255;
- })
- .start();
- return;
- }
- this._showBroadcast(this.m_noticeArr.shift());
- };
- this.m_noticeLab.string = str;
- let startX = noticeNode.parent.width / 2 + 20;
- noticeNode.x = startX;
- this.scheduleOnce(() => {
- let endX = -startX - noticeNode.width;
- let moveTime = (noticeNode.parent.width + noticeNode.width) / 20;
- cc.tween(noticeNode)
- .to(moveTime, { x: endX })
- .call(newShowCb)
- .start();
- }, 0.25);
- },
- //展示补花
- showGotFlowers(viewID, isShow) {
- if (isNaN(viewID)) {
- return;
- }
- let showNode = this.m_gotFlowersNode.children[viewID];
- if (false == !!showNode) {
- return;
- }
- showNode.active = !!isShow;
- if (!isShow) {
- return;
- }
- showNode.getComponent("SpineAnimationCtrl").playAnimation();
- },
- //#region 工具函数
- //检测同ip
- CheckIP: function () {
- for (var i = 0; i < GameDef.GAME_PLAYER; i++) {
- this.m_strCheckIP[i] = new Array(3);// 0:id 1:昵称 2:ip
- this.m_strCheckIP[i][0] = 0;
- }
- var nIndex = 0;
- for (var i = 0; i < GameDef.GAME_PLAYER; i++) {
- if (this.m_pIClientUserItem[i] != null) {
- for (var j = i + 1; j < GameDef.GAME_PLAYER; j++) {
- if (this.m_pIClientUserItem[j] != null) {
- if (this.m_pIClientUserItem[i].GetUserIP() == this.m_pIClientUserItem[j].GetUserIP()) {
- //排重
- var bIHas = false;
- var bJHas = false;
- for (var k = 0; k < GameDef.GAME_PLAYER; k++) {
- if (this.m_strCheckIP[k][0] == 0) break;
- if (this.m_pIClientUserItem[i].GetUserID() == this.m_strCheckIP[k][0]) {
- bIHas = true;
- }
- if (this.m_pIClientUserItem[j].GetUserID() == this.m_strCheckIP[k][0]) {
- bJHas = true;
- }
- }
- if (bIHas == false) {
- this.m_strCheckIP[nIndex][0] = this.m_pIClientUserItem[i].GetUserID();
- this.m_strCheckIP[nIndex][1] = this.m_pIClientUserItem[i].GetNickName();
- this.m_strCheckIP[nIndex][2] = this.m_pIClientUserItem[i].GetUserIP();
- nIndex++;
- }
- if (bJHas == false) {
- this.m_strCheckIP[nIndex][0] = this.m_pIClientUserItem[j].GetUserID();
- this.m_strCheckIP[nIndex][1] = this.m_pIClientUserItem[j].GetNickName();
- this.m_strCheckIP[nIndex][2] = this.m_pIClientUserItem[j].GetUserIP();
- nIndex++;
- }
- }
- }
- }
- }
- }
- },
- //检测距离过近
- CheckDistance: function (GPSInfo) {
- for (var i = 0; i < 6; i++) {
- this.m_strCheckDistance[i] = null;
- }
- var nIndex = 0;
- for (var i = 0; i < GameDef.GAME_PLAYER; i++) {
- if (GPSInfo[i] == null) continue;
- for (var j = i + 1; j < GameDef.GAME_PLAYER; j++) {
- if (GPSInfo[j] == null) continue;
- if (0 != GPSInfo[i].dlongitude && 0 != GPSInfo[j].dlongitude) {
- var dis = this.GetDistance(GPSInfo[i].dlatitude, GPSInfo[i].dlongitude, GPSInfo[j].dlatitude, GPSInfo[j].dlongitude);
- if (dis < 0.05)//50米内
- {
- var tmpName = new Array(2);
- var tmpIndex = 0;
- for (var k = 0; k < GameDef.GAME_PLAYER; k++) {
- if (this.m_pIClientUserItem[k] != null) {
- var timUserID = this.m_pIClientUserItem[k].GetUserID();
- if (timUserID == GPSInfo[i].dwUserID || timUserID == GPSInfo[j].dwUserID) {
- tmpName[tmpIndex] = this.m_pIClientUserItem[k].GetNickName();
- tmpIndex++;
- }
- }
- }
- this.m_strCheckDistance[nIndex] = tmpName[0] + ' 与 ' + tmpName[1] + ' 距离过近!'
- nIndex++;
- }
- }
- }
- }
- },
- //计算距离,参数分别为第一点的纬度,经度;第二点的纬度,经度
- GetDistance: function (lat1, lng1, lat2, lng2) {
- var radLat1 = this._Rad(lat1);
- var radLat2 = this._Rad(lat2);
- var a = radLat1 - radLat2;
- var b = this._Rad(lng1) - this._Rad(lng2);
- var s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) +
- Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)));
- s = s * 6378.137;// EARTH_RADIUS;
- s = Math.round(s * 10000) / 10000; //输出为公里
- return s;
- },
- _Rad: function (d) {
- return d * Math.PI / 180.0;//经纬度转换成三角函数中度分表形式。
- },
- });
|