public void ChangePlayPlayerInfo(int n) { TplayInfo this_p = TcpApp.UserThis().play; TplayInfo oppo_p = TcpApp.UserOppo().play; textThisPosX.Text = this_p.x.ToString(); textThisPosY.Text = this_p.y.ToString(); textThisPosZ.Text = this_p.z.ToString(); textThisDir.Text = this_p.d.ToString(); textThisCtX.Text = this_p.c_x.ToString(); textThisCtY.Text = this_p.c_y.ToString(); textThisClub.Text = this_p.club.ToString(); textThisPow.Text = this_p.pow.ToString(); textThisBest.Text = this_p.best.ToString(); groupThis.Text = TcpApp.UserThis().name; textOppoPosX.Text = oppo_p.x.ToString(); textOppoPosY.Text = oppo_p.y.ToString(); textOppoPosZ.Text = oppo_p.z.ToString(); textOppoDir.Text = oppo_p.d.ToString(); textOppoCtX.Text = oppo_p.c_x.ToString(); textOppoCtY.Text = oppo_p.c_y.ToString(); textOppoClub.Text = oppo_p.club.ToString(); textOppoPow.Text = oppo_p.pow.ToString(); textOppoBest.Text = oppo_p.best.ToString(); groupOppo.Text = TcpApp.UserOppo().name; this.Refresh(); }
public static int invited_rep(int btnRet, object v) { DialogResult ret = (DialogResult)btnRet; uint[] arr = (uint[])v; uint sendId = arr[0]; uint destId = arr[1]; uint idx_map = arr[2]; int inviteRps = NTC.RST_OK; if (DialogResult.No == ret) { inviteRps = NTC.RST_NO; } TcpApp.SendRsInvite(sendId, (byte)inviteRps); if (NTC.RST_OK == inviteRps) { TcpApp.app_oppo_id = sendId; TcpApp.FindUser(app_user_id).ready = NTC.RST_READY_TRUE; TcpApp.SendReady(NTC.RST_READY_TRUE); } return(0); }
public static int SendGpShot(float posX, float posY, float posZ , float dir , float ctpX, float ctpY , uint club, float power, float best) { TcpCln pNet = TcpApp.GetMainNet(); int hr = 0; ushort opp = NTC.CS_REQ_BROADCAST; // op protocol ushort gpp = NTC.GP_SHOT; // game play protocol m_wrkPck.Reset(); m_wrkPck.AddData(gpp); m_wrkPck.AddData(TcpApp.app_user_id); m_wrkPck.AddData(posX); m_wrkPck.AddData(posY); m_wrkPck.AddData(posZ); m_wrkPck.AddData(dir); m_wrkPck.AddData(ctpX); m_wrkPck.AddData(ctpY); m_wrkPck.AddData(club); m_wrkPck.AddData(power); m_wrkPck.AddData(best); m_wrkPck.EnCode(opp); hr = pNet.Send(m_wrkPck); return(hr); }
public static int SendGpPutt(TplayInfo putt) { PGLog.LOGI("TcpApp::SendGpPutt"); TcpCln pNet = TcpApp.GetMainNet(); int hr = 0; ushort opp = NTC.CS_REQ_BROADCAST; // op protocol ushort gpp = NTC.GP_PLAY_PUTT; // game play protocol m_wrkPck.Reset(); m_wrkPck.AddData(gpp); m_wrkPck.AddData(TcpApp.app_user_id); m_wrkPck.AddData(TcpApp.app_oppo_id); m_wrkPck.AddData(putt.x); m_wrkPck.AddData(putt.y); m_wrkPck.AddData(putt.z); m_wrkPck.AddData(putt.z); m_wrkPck.AddData(putt.c_y); m_wrkPck.AddData(putt.club); m_wrkPck.AddData(putt.pow); m_wrkPck.EnCode(opp); hr = pNet.Send(m_wrkPck); return(hr); }
public static int SendDisConnect() // Connection { TcpCln pNet = TcpApp.GetMainNet(); pNet.SetIoEvent(OnIoEvent); pNet.CloseSocket(); return(NTC.OK); }
private void btnStart_Click(object sender, EventArgs e) { int idx_usr = this.listUsr.SelectedIndex; int idx_map = this.listMap.SelectedIndex; TuserInfo usrInfo = TcpApp.app_user_lst[idx_usr]; if (usrInfo.id != TcpApp.app_user_id) { TcpApp.SendRqInvite(usrInfo.id, (uint)idx_map); } }
public static int SendStop() { TcpCln pNet = TcpApp.GetMainNet(); int hr = 0; ushort opp = NTC.CS_REQ_STOP; m_wrkPck.Reset(); m_wrkPck.EnCode(opp); hr = pNet.Send(m_wrkPck); return(hr); }
private void Result_Click(object sender, EventArgs e) { TplayInfo this_p = TcpApp.UserThis().play; this_p.x = Convert.ToSingle(textThisPosX.Text); this_p.y = Convert.ToSingle(textThisPosY.Text); this_p.z = Convert.ToSingle(textThisPosZ.Text); this_p.stroke = Convert.ToByte(textThisStroke.Text); this_p.bonus = Convert.ToUInt32(textThisBonus.Text); TcpApp.SendGpEnd(this_p); Program.ChageForm(APC.PHASE_RST); }
public static int SendReady(byte bReady) { TcpCln pNet = TcpApp.GetMainNet(); int hr = 0; ushort opp = NTC.CS_REQ_READY; m_wrkPck.Reset(); m_wrkPck.AddData(bReady); m_wrkPck.EnCode(opp); hr = pNet.Send(m_wrkPck); return(hr); }
public static int SendConnect(string _ip, string _pt) // Connection { TcpApp.Clear(); TcpCln pNet = TcpApp.GetMainNet(); int hr = 0; int pt = Convert.ToInt32(_pt); pNet.SetIoEvent(OnIoEvent); pNet.CloseSocket(); hr = pNet.Create(null, _ip, pt); hr = pNet.Connect(); return(hr); }
public void Start() { CatConfig.Init(AppConfig.CatDomain, AppConfig.CatEnable, AppConfig.CatServer); MapArea.RegisterMapArea(); if (AppConfig.HttpPort > 0) { Task.Factory.StartNew(() => { _webApp = new WebApp(); _webApp.Start(AppConfig.HttpPort); }, TaskCreationOptions.LongRunning) .ContinueWith(t => { if (!t.IsFaulted) { return; } LogInfoWriter.GetInstance().Error("TcpApp start error", t.Exception); if (t.Exception != null) { throw t.Exception; } }); } if (AppConfig.TcpPort > 0) { Task.Factory.StartNew(() => { _tcpApp = new TcpApp(); _tcpApp.Start(AppConfig.TcpPort); }, TaskCreationOptions.LongRunning) .ContinueWith(t => { if (!t.IsFaulted) { return; } LogInfoWriter.GetInstance().Error("TcpApp start error", t.Exception); if (t.Exception != null) { throw t.Exception; } }); } }
public static int SendGpResult() { TcpCln pNet = TcpApp.GetMainNet(); int hr = 0; ushort opp = NTC.CS_REQ_BROADCAST; // op protocol ushort gpp = NTC.GP_RESULT; // game play protocol m_wrkPck.Reset(); m_wrkPck.AddData(gpp); m_wrkPck.AddData(TcpApp.app_user_id); m_wrkPck.EnCode(opp); hr = pNet.Send(m_wrkPck); return(hr); }
public void ChangeResultPlayerInfo(int n) { TuserInfo this_p = TcpApp.UserThis(); TuserInfo oppo_p = TcpApp.UserOppo(); textId0.Text = this_p.name; textScore0.Text = this_p.play.stroke.ToString(); textBonus0.Text = this_p.play.bonus.ToString(); textWin0.Text = this_p.play.iswin.ToString(); textId1.Text = oppo_p.name; textScore1.Text = oppo_p.play.stroke.ToString(); textBonus1.Text = oppo_p.play.bonus.ToString(); textWin1.Text = oppo_p.play.iswin.ToString(); this.Refresh(); }
public static int SendRsInvite(uint destId, byte rq) { TcpCln pNet = TcpApp.GetMainNet(); int hr = 0; ushort opp = NTC.CS_REQ_BROADCAST; // op protocol ushort gpp = NTC.GP_RS_INVITE; // game play protocol m_wrkPck.Reset(); m_wrkPck.AddData(gpp); m_wrkPck.AddData(TcpApp.app_user_id); m_wrkPck.AddData(destId); m_wrkPck.AddData(rq); m_wrkPck.EnCode(opp); hr = pNet.Send(m_wrkPck); return(hr); }
private void Putt_Click(object sender, EventArgs e) { TplayInfo this_p = TcpApp.UserThis().play; ++this_p.stroke; this_p.x = Convert.ToSingle(textThisPosX.Text); this_p.y = Convert.ToSingle(textThisPosY.Text); this_p.z = Convert.ToSingle(textThisPosZ.Text); this_p.d = Convert.ToSingle(textThisDir.Text); this_p.c_y = Convert.ToSingle(textThisCtY.Text); this_p.club = Convert.ToUInt32(textThisClub.Text); this_p.pow = Convert.ToSingle(textThisPow.Text); textThisStroke.Text = this_p.stroke.ToString(); TcpApp.SendGpPutt(this_p); }
public static int SendGpMoveStop(float posX, float posY, float posZ) { TcpCln pNet = TcpApp.GetMainNet(); int hr = 0; ushort opp = NTC.CS_REQ_BROADCAST; // op protocol ushort gpp = NTC.GP_MOVESTOP; // game play protocol m_wrkPck.Reset(); m_wrkPck.AddData(gpp); m_wrkPck.AddData(TcpApp.app_user_id); m_wrkPck.AddData(posX); m_wrkPck.AddData(posY); m_wrkPck.AddData(posZ); m_wrkPck.EnCode(opp); hr = pNet.Send(m_wrkPck); return(hr); }
public static int SendLogin(string _id, string _pwd) // Login { TcpCln pNet = TcpApp.GetMainNet(); int hr = 0; ushort opp = NTC.CS_REQ_LOGIN; byte[] src = Encoding.Unicode.GetBytes(_id); // string -> byte, string str = Encoding.Default.GetString(src); // byte -> string Array.Clear(m_wrkBuf, 0, m_wrkBuf.Length); // clear the work buffer Array.Copy(src, m_wrkBuf, src.Length); // copy the source data to work buffer m_wrkPck.Reset(); // work packet reset m_wrkPck.AddData(m_wrkBuf, 40); // add the buffer m_wrkPck.EnCode(opp); // finally, makeup the op code and complete the packet hr = pNet.Send(m_wrkPck); return(hr); }
// // GAME PLAY PACKET: gpp + send id + {dest id} + data // public static int SendRqInvite(uint destId, uint idx_map) { PGLog.LOGI("TcpApp::SendRqInvite"); TcpCln pNet = TcpApp.GetMainNet(); int hr = 0; ushort opp = NTC.CS_REQ_BROADCAST; // op protocol ushort gpp = NTC.GP_RQ_INVITE; // game play protocol m_wrkPck.Reset(); m_wrkPck.AddData(gpp); m_wrkPck.AddData(TcpApp.app_user_id); m_wrkPck.AddData(destId); m_wrkPck.AddData(idx_map); m_wrkPck.EnCode(opp); hr = pNet.Send(m_wrkPck); return(hr); }
public static int SendGpBallPos(float x, float y, float z) { PGLog.LOGI("TcpApp::SendGpBallPos"); TcpCln pNet = TcpApp.GetMainNet(); int hr = 0; ushort opp = NTC.CS_REQ_BROADCAST; // op protocol ushort gpp = NTC.GP_PLAY_BPOS; // game play protocol m_wrkPck.Reset(); m_wrkPck.AddData(gpp); m_wrkPck.AddData(TcpApp.app_user_id); m_wrkPck.AddData(TcpApp.app_oppo_id); m_wrkPck.AddData(x); m_wrkPck.AddData(y); m_wrkPck.AddData(z); m_wrkPck.EnCode(opp); hr = pNet.Send(m_wrkPck); return(hr); }
public static int SendGpEnd(TplayInfo end) { PGLog.LOGI("TcpApp::SendGpEnd"); TcpCln pNet = TcpApp.GetMainNet(); int hr = 0; ushort opp = NTC.CS_REQ_BROADCAST; // op protocol ushort gpp = NTC.GP_PLAY_END; // game play protocol m_wrkPck.Reset(); m_wrkPck.AddData(gpp); m_wrkPck.AddData(TcpApp.app_user_id); m_wrkPck.AddData(TcpApp.app_oppo_id); m_wrkPck.AddData(end.x); m_wrkPck.AddData(end.y); m_wrkPck.AddData(end.z); m_wrkPck.AddData(end.stroke); m_wrkPck.AddData(end.bonus); m_wrkPck.EnCode(opp); hr = pNet.Send(m_wrkPck); return(hr); }
public static int OnIoEvent(int ev, int hr, object socket, int rcn, object data) { if (NTC.EV_CLOSE == ev) { PGLog.LOGI("OnIoEvent: gracefully closed"); golf_net.Program.ChageForm(golf_net.APC.PHASE_BEGIN); } else if (NTC.EV_ACCEPT == ev) { PGLog.LOGI("OnIoEvent: Accept"); } else if (NTC.EV_CONNECT == ev) { PGLog.LOGI("OnIoEvent: Connect"); if (NTC.OK != hr) { PGLog.LOGW("OnIoEvent: Connection Failed"); } } else if (NTC.EV_SEND == ev) { PGLog.LOGI("OnIoEvent: Send::type::" + rcn); } else if (NTC.EV_RECV == ev) { PGLog.LOGI("OnIoEvent: Receive"); byte[] rcv = null; ushort len = 0; ushort opp = 0; int idx_bgn = NTC.PCK_HEAD; int i = 0; if (0 > hr) { PGLog.LOGI("OnIoEvent: disconnected"); TcpCln pCln = (TcpCln)data; golf_net.Program.ChageForm(golf_net.APC.PHASE_BEGIN); return(NTC.OK); } rcv = (byte[])data; len = Packet.LenFromBuf(rcv); opp = Packet.OppFromBuf(rcv); if (NTC.SC_ANS_LOGIN == opp) { byte user_count = 0; app_user_lst.Clear(); app_pmap_lst.Clear(); // setup the user id, and character name Packet.ValFromBuf(ref app_user_id, rcv, idx_bgn + 0); Packet.ValFromBuf(ref app_char_name, rcv, idx_bgn + 4, 40); PGLog.LOGI("OnIoEvent:user id/name::" + app_user_id + ", " + app_char_name); Packet.ValFromBuf(ref user_count, rcv, idx_bgn + 48); idx_bgn = NTC.PCK_HEAD + 49; for (i = 0; i < user_count; ++i) { uint id = 0; string name = null; byte owner = 0; byte ready = 0; Packet.ValFromBuf(ref id, rcv, idx_bgn + 46 * i + 0); Packet.ValFromBuf(ref name, rcv, idx_bgn + 46 * i + 4, 40); Packet.ValFromBuf(ref owner, rcv, idx_bgn + 46 * i + 44); Packet.ValFromBuf(ref ready, rcv, idx_bgn + 46 * i + 45); TuserInfo usr = new TuserInfo(id, name, owner, ready); app_user_lst.Add(usr); PGLog.LOGI("OnIoEvent:NTC.SC_ANS_LOGIN:: id/name::" + id + ", " + name); } for (i = 0; i < 3; ++i) { uint id = (uint)i; string name = "map " + i; TplayMap map = new TplayMap(id, name); app_pmap_lst.Add(map); } // change the phase of the application golf_net.Program.ChageForm(golf_net.APC.PHASE_LOBBY); } else if (NTC.SC_BROADCAST_USERLIST == opp) { byte user_count = 0; idx_bgn = NTC.PCK_HEAD; app_user_lst.Clear(); Packet.ValFromBuf(ref user_count, rcv, idx_bgn + 0); idx_bgn = NTC.PCK_HEAD + 1; for (i = 0; i < user_count; ++i) { uint id = 0; string name = null; byte owner = 0; byte ready = 0; Packet.ValFromBuf(ref id, rcv, idx_bgn + 46 * i + 0); Packet.ValFromBuf(ref name, rcv, idx_bgn + 46 * i + 4, 40); Packet.ValFromBuf(ref owner, rcv, idx_bgn + 46 * i + 44); Packet.ValFromBuf(ref ready, rcv, idx_bgn + 46 * i + 45); TuserInfo usr = new TuserInfo(id, name, owner, ready); app_user_lst.Add(usr); PGLog.LOGI("OnIoEvent:NTC.SC_ANS_LOGIN:: id/name::" + id + ", " + name); } golf_net.Program.ChangeLobbyUserList(0); } else if (NTC.SC_BROADCAST_LOGOUT == opp) { uint id = 0; string name = null; idx_bgn = NTC.PCK_HEAD; Packet.ValFromBuf(ref id, rcv, idx_bgn + 0); name = TcpApp.FindUser(id).name; for (i = 0; i < app_user_lst.Count; ++i) { if (app_user_lst[i].id == id) { app_user_lst.RemoveAt(i); break; } } golf_net.Program.ChangeLobbyUserList(0); PGLog.LOGI("OnIoEvent:NTC.SC_BROADCAST_LOGOUT::" + name); } else if (NTC.CS_REQ_BROADCAST == opp) { // // GAME PLAY PACKET: gpp + send id + {dest id} + data // idx_bgn = NTC.PCK_HEAD; ushort gpp = 0; uint sendId = 0; uint destId = 0; Packet.ValFromBuf(ref gpp, rcv, idx_bgn + 0); // 초대 받음 if (NTC.GP_RQ_INVITE == gpp) { uint idx_map = 0; Packet.ValFromBuf(ref sendId, rcv, idx_bgn + 2); Packet.ValFromBuf(ref destId, rcv, idx_bgn + 2 + 4); Packet.ValFromBuf(ref idx_map, rcv, idx_bgn + 2 + 4 + 4); if (TcpApp.app_user_id == destId) { uint[] arr = new uint[4]; arr[0] = sendId; arr[1] = destId; arr[2] = idx_map; //MessageBox.Show("From " + name + " 한판 뜰래? ", "Inviting", MessageBoxButtons.YesNo); string name = TcpApp.FindUser(sendId).name; string log = "OnIoEvent:NTC.GP_INVITE:: sender:" + name + ", dest id::" + destId + ", map id::" + idx_map; PGLog.LOGI(log); golf_net.Program.ShowMsgBox(new golf_net.FormMsgBox("From " + name + " 한판 뜰래? ", "Inviting", (int)MessageBoxButtons.YesNo, arr, invited_rep)); } } // 초대 응답 else if (NTC.GP_RS_INVITE == gpp) { byte rq = 0; Packet.ValFromBuf(ref sendId, rcv, idx_bgn + 2); Packet.ValFromBuf(ref destId, rcv, idx_bgn + 2 + 4); Packet.ValFromBuf(ref rq, rcv, idx_bgn + 2 + 4 + 4); if (TcpApp.app_user_id == destId) { string name = TcpApp.FindUser(sendId).name; string log = "OnIoEvent:NTC.GP_RS_INVITE::" + name + "::" + rq; PGLog.LOGI(log); // Send Ready if (rq == NTC.RST_OK) { app_oppo_id = sendId; TcpApp.FindUser(app_oppo_id).ready = NTC.RST_READY_TRUE; golf_net.Program.ShowMsgBox(new golf_net.FormMsgBox("Inviting success", "Msg", (int)MessageBoxButtons.OK, null, invited_rqs)); return(NTC.OK); } golf_net.Program.ShowMsgBox(new golf_net.FormMsgBox("Inviting failed", "Msg", (int)MessageBoxButtons.OK, null, null)); } } else if (NTC.GP_PLAY_SHOT == gpp) { idx_bgn = NTC.PCK_HEAD + 2; Packet.ValFromBuf(ref sendId, rcv, idx_bgn + 0 * 4); Packet.ValFromBuf(ref destId, rcv, idx_bgn + 1 * 4); // dest id is me... if (TcpApp.app_oppo_id == sendId && TcpApp.app_user_id == destId) { TplayInfo oppo_p = TcpApp.UserOppo().play; string name = TcpApp.FindUser(sendId).name; float shot_x = 0.0F, shot_y = 0.0F, shot_z = 0.0F; float shot_d = 0.0F; float shot_c_x = 0.0F, shot_c_y = 0.0F; uint shot_club = 0; float shot_pow = 0.0F, shot_best = 0.0F; byte shot_stroke = 0; Packet.ValFromBuf(ref shot_x, rcv, idx_bgn + 2 * 4); Packet.ValFromBuf(ref shot_y, rcv, idx_bgn + 3 * 4); Packet.ValFromBuf(ref shot_z, rcv, idx_bgn + 4 * 4); Packet.ValFromBuf(ref shot_d, rcv, idx_bgn + 5 * 4); Packet.ValFromBuf(ref shot_c_x, rcv, idx_bgn + 6 * 4); Packet.ValFromBuf(ref shot_c_y, rcv, idx_bgn + 7 * 4); Packet.ValFromBuf(ref shot_club, rcv, idx_bgn + 8 * 4); Packet.ValFromBuf(ref shot_pow, rcv, idx_bgn + 9 * 4); Packet.ValFromBuf(ref shot_best, rcv, idx_bgn + 10 * 4); Packet.ValFromBuf(ref shot_stroke, rcv, idx_bgn + 11 * 4); oppo_p.x = shot_x; oppo_p.y = shot_y; oppo_p.z = shot_z; oppo_p.d = shot_d; oppo_p.c_x = shot_c_x; oppo_p.c_y = shot_c_y; oppo_p.club = shot_club; oppo_p.pow = shot_pow; oppo_p.best = shot_best; oppo_p.best = shot_stroke; golf_net.Program.ChangePlayPlayerInfo(0); PGLog.LOGI("OnIoEvent:NTC.NTC.GP_PLAY_SHOT::" + name); } } else if (NTC.GP_PLAY_PUTT == gpp) { idx_bgn = NTC.PCK_HEAD + 2; Packet.ValFromBuf(ref sendId, rcv, idx_bgn + 0 * 4); Packet.ValFromBuf(ref destId, rcv, idx_bgn + 1 * 4); // dest id is me... if (TcpApp.app_oppo_id == sendId && TcpApp.app_user_id == destId) { TplayInfo oppo_p = TcpApp.UserOppo().play; string name = TcpApp.FindUser(sendId).name; float putt_x = 0.0F, putt_y = 0.0F, putt_z = 0.0F; float putt_d = 0.0F; float putt_c_y = 0.0F; uint putt_club = 0; float putt_pow = 0.0F; Packet.ValFromBuf(ref putt_x, rcv, idx_bgn + 2 * 4); Packet.ValFromBuf(ref putt_y, rcv, idx_bgn + 3 * 4); Packet.ValFromBuf(ref putt_z, rcv, idx_bgn + 4 * 4); Packet.ValFromBuf(ref putt_d, rcv, idx_bgn + 5 * 4); Packet.ValFromBuf(ref putt_c_y, rcv, idx_bgn + 6 * 4); Packet.ValFromBuf(ref putt_club, rcv, idx_bgn + 7 * 4); Packet.ValFromBuf(ref putt_pow, rcv, idx_bgn + 8 * 4); oppo_p.x = putt_x; oppo_p.y = putt_y; oppo_p.z = putt_z; oppo_p.d = putt_d; oppo_p.c_y = putt_c_y; oppo_p.club = putt_club; oppo_p.pow = putt_pow; golf_net.Program.ChangePlayPlayerInfo(0); PGLog.LOGI("OnIoEvent:NTC.NTC.GP_PLAY_PUTT::" + name); } } else if (NTC.GP_PLAY_BPOS == gpp) { idx_bgn = NTC.PCK_HEAD + 2; Packet.ValFromBuf(ref sendId, rcv, idx_bgn + 0 * 4); Packet.ValFromBuf(ref destId, rcv, idx_bgn + 1 * 4); // dest id is me... if (TcpApp.app_oppo_id == sendId && TcpApp.app_user_id == destId) { TplayInfo oppo_p = TcpApp.UserOppo().play; string name = TcpApp.FindUser(sendId).name; float bpos_x = 0.0F, bpos_y = 0.0F, bpos_z = 0.0F; Packet.ValFromBuf(ref bpos_x, rcv, idx_bgn + 2 * 4); Packet.ValFromBuf(ref bpos_y, rcv, idx_bgn + 3 * 4); Packet.ValFromBuf(ref bpos_z, rcv, idx_bgn + 4 * 4); oppo_p.x = bpos_x; oppo_p.y = bpos_y; oppo_p.z = bpos_z; golf_net.Program.ChangePlayPlayerInfo(0); PGLog.LOGI("OnIoEvent:NTC.NTC.GP_PLAY_BPOS::" + name); } } else if (NTC.GP_PLAY_END == gpp) { idx_bgn = NTC.PCK_HEAD + 2; Packet.ValFromBuf(ref sendId, rcv, idx_bgn + 0 * 4); Packet.ValFromBuf(ref destId, rcv, idx_bgn + 1 * 4); // dest id is me... if (TcpApp.app_oppo_id == sendId && TcpApp.app_user_id == destId) { TplayInfo oppo_p = TcpApp.UserOppo().play; string name = TcpApp.FindUser(sendId).name; float end_x = 0.0F, end_y = 0.0F, end_z = 0.0F; byte end_stroke = 0; uint end_bonus = 0; Packet.ValFromBuf(ref end_x, rcv, idx_bgn + 2 * 4); Packet.ValFromBuf(ref end_y, rcv, idx_bgn + 3 * 4); Packet.ValFromBuf(ref end_z, rcv, idx_bgn + 4 * 4); Packet.ValFromBuf(ref end_stroke, rcv, idx_bgn + 5 * 4); Packet.ValFromBuf(ref end_bonus, rcv, idx_bgn + 6 * 4); oppo_p.x = end_x; oppo_p.y = end_y; oppo_p.z = end_z; oppo_p.stroke = end_stroke; oppo_p.bonus = end_bonus; PGLog.LOGI("OnIoEvent:NTC.NTC.GP_PLAY_END::" + name); } golf_net.Program.ChangePlayPlayerInfo(0); golf_net.Program.ChangeResultPlayerInfo(0); } } else if (NTC.SC_BROADCAST_READY == opp) { TuserInfo usr = null; uint id = 0; byte ready = 0; idx_bgn = NTC.PCK_HEAD; Packet.ValFromBuf(ref id, rcv, idx_bgn + 0); Packet.ValFromBuf(ref ready, rcv, idx_bgn + 4); usr = TcpApp.FindUser(id); usr.ready = ready; PGLog.LOGI("OnIoEvent:NTC.SC_BROADCAST_READY::" + usr.name + ", " + ready); TuserInfo usrThis = TcpApp.FindUser(app_user_id); TuserInfo usrOther = TcpApp.FindUser(app_oppo_id); if (NTC.RST_READY_TRUE == usrThis.ready && NTC.RST_READY_TRUE == usrOther.ready) { TcpApp.SendGo(); golf_net.Program.ChageForm(golf_net.APC.PHASE_PLAY); golf_net.Program.ChangePlayPlayerInfo(0); } } else if (NTC.SC_BROADCAST_START == opp) { golf_net.Program.ChageForm(golf_net.APC.PHASE_PLAY); } } else { PGLog.LOGI("OnIoEvent: Not defined"); } return(NTC.OK); }
private void btnDiscon_Click(object sender, EventArgs e) { TcpApp.SendDisConnect(); Program.ChageForm(APC.PHASE_BEGIN); }
public static int SendLogout() { TcpCln pNet = TcpApp.GetMainNet(); return(NTC.OK); }
private void btnConnect_Click(object sender, EventArgs e) { TcpApp.SendConnect(this.txtIp.Text, this.txtPt.Text); }
private void btnDiscon_Click(object sender, EventArgs e) { TcpApp.SendDisConnect(); }
private void btnLogin_Click(object sender, EventArgs e) { TcpApp.SendLogin(this.txtUID.Text, this.txtPWD.Text); }
private void btnLogout_Click(object sender, EventArgs e) { TcpApp.SendLogout(); }
public static int invited_rqs(int btnRet, object v) { TcpApp.SendReady(NTC.RST_READY_TRUE); return(0); }
public static void OnIoEvent(int ev, int hr, object socket, int rcn, object data) { if (NTC.EV_CLOSE == ev) { PGLog.LOGI("OnRecv: gracefully closed"); } else if (NTC.EV_ACCEPT == ev) { PGLog.LOGI("OnRecv: Accept"); } else if (NTC.EV_CONNECT == ev) { PGLog.LOGI("OnRecv: Connect"); if (NTC.OK != hr) { } } else if (NTC.EV_SEND == ev) { PGLog.LOGI("OnRecv: Send"); } else if (NTC.EV_RECV == ev) { PGLog.LOGI("OnRecv: Receive"); byte[] rcv = null; ushort len = 0; ushort opp = 0; int idx_bgn = NTC.PCK_HEAD; int i = 0; if (0 > hr) { PGLog.LOGI("OnRecv: disconnected"); TcpCln pCln = (TcpCln)data; pCln.CloseSocket(); return; } rcv = (byte[])data; len = Packet.LenFromBuf(rcv); opp = Packet.OppFromBuf(rcv); if (NTC.SC_ANS_LOGIN == opp) { byte user_count = 0; app_user_lst.Clear(); app_pmap_lst.Clear(); // setup the user id, and character name Packet.ValueFromBuf(ref app_user_id, rcv, idx_bgn + 0); Packet.ValueFromBuf(ref app_char_name, rcv, idx_bgn + 4, 40); PGLog.LOGI("OnRecv:user id/name::" + app_user_id + ", " + app_char_name); Packet.ValueFromBuf(ref user_count, rcv, idx_bgn + 48); idx_bgn = NTC.PCK_HEAD + 49; for (i = 0; i < user_count; ++i) { uint id = 0; string name = null; byte owner = 0; byte ready = 0; Packet.ValueFromBuf(ref id, rcv, idx_bgn + 46 * i + 0); Packet.ValueFromBuf(ref name, rcv, idx_bgn + 46 * i + 4, 40); Packet.ValueFromBuf(ref owner, rcv, idx_bgn + 46 * i + 44); Packet.ValueFromBuf(ref ready, rcv, idx_bgn + 46 * i + 45); TuserInfo usr = new TuserInfo(id, name, owner, ready); app_user_lst.Add(usr); PGLog.LOGI("OnRecv:NTC.SC_ANS_LOGIN:: id/name::" + id + ", " + name); } for (i = 0; i < 3; ++i) { uint id = (uint)i; string name = "map " + i; TplayMap map = new TplayMap(id, name); app_pmap_lst.Add(map); } // change the phase of the application Program.ChageForm(APC.PHASE_LOBBY); } else if (NTC.SC_BROADCAST_USERLIST == opp) { byte user_count = 0; idx_bgn = NTC.PCK_HEAD; app_user_lst.Clear(); Packet.ValueFromBuf(ref user_count, rcv, idx_bgn + 0); idx_bgn = NTC.PCK_HEAD + 1; for (i = 0; i < user_count; ++i) { uint id = 0; string name = null; byte owner = 0; byte ready = 0; Packet.ValueFromBuf(ref id, rcv, idx_bgn + 46 * i + 0); Packet.ValueFromBuf(ref name, rcv, idx_bgn + 46 * i + 4, 40); Packet.ValueFromBuf(ref owner, rcv, idx_bgn + 46 * i + 44); Packet.ValueFromBuf(ref ready, rcv, idx_bgn + 46 * i + 45); TuserInfo usr = new TuserInfo(id, name, owner, ready); app_user_lst.Add(usr); PGLog.LOGI("OnRecv:NTC.SC_ANS_LOGIN:: id/name::" + id + ", " + name); } Program.ChageUserList(0); } else if (NTC.SC_BROADCAST_LOGOUT == opp) { uint id = 0; string name = null; idx_bgn = NTC.PCK_HEAD; Packet.ValueFromBuf(ref id, rcv, idx_bgn + 0); name = TcpApp.FindUser(id).name; for (i = 0; i < app_user_lst.Count; ++i) { if (app_user_lst[i].id == id) { app_user_lst.RemoveAt(i); break; } } Program.ChageUserList(0); PGLog.LOGI("OnRecv:NTC.SC_BROADCAST_LOGOUT::" + name); } else if (NTC.CS_REQ_BROADCAST == opp) { // // GAME PLAY PACKET: gpp + send id + {dest id} + data // idx_bgn = NTC.PCK_HEAD; ushort gpp = 0; uint sendId = 0; uint destId = 0; Packet.ValueFromBuf(ref gpp, rcv, idx_bgn + 0); // 초대 받음 if (NTC.GP_RQ_INVITE == gpp) { uint idx_map = 0; Packet.ValueFromBuf(ref sendId, rcv, idx_bgn + 2); Packet.ValueFromBuf(ref destId, rcv, idx_bgn + 2 + 4); Packet.ValueFromBuf(ref idx_map, rcv, idx_bgn + 2 + 4 + 4); if (TcpApp.app_user_id == destId) { string name = TcpApp.FindUser(sendId).name; int inviteRps = NTC.RST_OK; string log = "OnRecv:NTC.GP_INVITE:: sender:" + name + ", dest id::" + destId + ", map id::" + idx_map; PGLog.LOGI(log); DialogResult r = MessageBox.Show("From " + name + " 한판 뜰래? ", "Inviting", MessageBoxButtons.YesNo); if (DialogResult.No == r) { inviteRps = NTC.RST_NO; } TcpApp.SendRsInvite(sendId, (byte)inviteRps); if (NTC.RST_OK == inviteRps) { app_advr_id = sendId; TcpApp.FindUser(app_user_id).ready = NTC.RST_READY_TRUE; TcpApp.SendReady(NTC.RST_READY_TRUE); } } } // 초대 응답 else if (NTC.GP_RS_INVITE == gpp) { byte rq = 0; Packet.ValueFromBuf(ref sendId, rcv, idx_bgn + 2); Packet.ValueFromBuf(ref destId, rcv, idx_bgn + 2 + 4); Packet.ValueFromBuf(ref rq, rcv, idx_bgn + 2 + 4 + 4); if (TcpApp.app_user_id == destId) { string name = TcpApp.FindUser(sendId).name; string log = "OnRecv:NTC.GP_RS_INVITE::" + name + "::" + rq; PGLog.LOGI(log); // Send Ready if (rq == NTC.RST_OK) { app_advr_id = sendId; MessageBox.Show("Inviting success", "Msg", MessageBoxButtons.OK); TcpApp.SendReady(NTC.RST_READY_TRUE); return; } MessageBox.Show("Inviting failed", "Msg", MessageBoxButtons.OK); } } else if (NTC.GP_SHOT == gpp) { } else if (NTC.GP_PUTT == gpp) { } else if (NTC.GP_MOVESTOP == gpp) { } else if (NTC.GP_END == gpp) { } else if (NTC.GP_RESULT == gpp) { } } else if (NTC.SC_BROADCAST_READY == opp) { TuserInfo usr = null; uint id = 0; byte ready = 0; idx_bgn = NTC.PCK_HEAD; Packet.ValueFromBuf(ref id, rcv, idx_bgn + 0); Packet.ValueFromBuf(ref ready, rcv, idx_bgn + 4); usr = TcpApp.FindUser(id); usr.ready = ready; PGLog.LOGI("OnRecv:NTC.SC_BROADCAST_READY::" + usr.name + ", " + ready); if (NTC.RST_READY_TRUE == TcpApp.FindUser(app_user_id).ready&& NTC.RST_READY_TRUE == TcpApp.FindUser(app_advr_id).ready) { TcpApp.SendGo(); Program.ChageForm(APC.PHASE_PLAY); } } else if (NTC.SC_BROADCAST_START == opp) { Program.ChageForm(APC.PHASE_PLAY); } } else { PGLog.LOGI("OnRecv: Not defined"); } }