/// <summary> /// 子弹伤害请求 /// </summary> /// <param name="token"></param> /// <param name="model"></param> internal void BulletDamageCREQ(BaseToken token, TransModel model) { if (state != FightRoomState.Fight) { return; } //throw new NotImplementedException(); if (IsVaildUserModel(token)) { try { DamageDTO damageDTO = model.GetMsg <DamageDTO>(); if (tokenToModelID[token] == damageDTO.SrcID) { if (tokenToModelID.ContainsValue(damageDTO.DstID)) { lock (DamageDic) { DamageMutex.WaitOne(); if (!DamageDic.ContainsKey(damageDTO.SrcID)) { //DamageDic.Add(damageDTO.SrcID, 0); baseModelDic[damageDTO.DstID].hp -= 20; //伤害广播 Broadcast(tokenToModelID.Keys.ToList(), 1003010, 0, damageDTO); if (baseModelDic[damageDTO.DstID].hp <= 0) { //击杀 广播 && 失败反馈 BaseToken dstToken = tokenToModelID.Where((t, id) => t.Value == damageDTO.DstID).ToList()[0].Key; Broadcast(tokenToModelID.Keys.ToList(), 1003011, 0, damageDTO); Send(dstToken, 10039998, damageDTO.DstID); // 清除失败 token tokenToModelID.Remove(dstToken); tokenToUserDTO.Remove(dstToken); long rid; FightManager.Ins.tokenToRoomID.Remove(dstToken, out rid); if (tokenToModelID.Count == 1) { //成功广播 并销毁房间 Broadcast(tokenToModelID.Keys.ToList(), 10039999, damageDTO.SrcID); Clear(); } } } DamageMutex.ReleaseMutex(); } } } } catch (Exception ex) { Debugger.Error(ex.ToString()); //throw; } } }
/// <summary> /// 向单个token发送数据 /// </summary> /// <param name="token">连接</param> /// <param name="pid">协议号</param> /// <param name="area">区域码</param> /// <param name="message">消息体</param> public void Send <T>(BaseToken token, int pid, int area, T message) { TransModel model = new TransModel(pid, area); model.SetMsg(message); Send(token, model); }
public async Task <IActionResult> Edit(int id, [Bind("id,Name,Date1,Married,Phone,Salary")] TransModel transModel) { if (id != transModel.id) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(transModel); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!TransModelExists(transModel.id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(transModel)); }
/// <summary> /// 创建房间处理 /// </summary> /// <param name="token"></param> /// <param name="model"></param> /// <returns> /// 1 创建成功 /// -1 连接已在房间中 /// -2 连接未登录 /// -3 获取房间出错 /// </returns> int OnCreateRoom(BaseToken token, TransModel model) { if (TokenHasRoom(token)) { return(-1); } if (!UserCache.Ins.IsOnline(token)) { return(-2); } MatchRoom room = GetEmptyRoom(); if (room == null) { return(-3); } room.masterName = UserCache.Ins.GetDALByToken(token).name; room.allTokens.Add(room.masterName, token); if (!string.IsNullOrEmpty(model.GetMsg <string>())) { room.passwd = model.GetMsg <string>(); } roomCache.TryAdd(room.id, room); tokenToRoomID.TryAdd(token, room.id); return(1); }
public static void Send(TransModel model) { #if !WEBGL NetIO.Ins.Send(model); #else NetIOH5.Ins.Send(model); #endif }
// Use this for initialization void Start() { bu.onClick.AddListener(() => { TransModel m = new TransModel(1, 1); m.SetMsg("client"); NetIOH5.Ins.Send(m); }); }
private void tlClear_Click(object sender, EventArgs e) { trans = new TransModel(); trvNev.Nodes.Clear(); dgvTeam.Rows.Clear(); dgvAuthorized.Rows.Clear(); dgvAvailable.Rows.Clear(); }
public TeamManagement(EpiTransaction iTrans) : base(iTrans) { InitializeComponent(); this._repo = new AuthRepo(); this.trans = new TransModel(); this.epiSession = ((Ice.Core.Session)oTransaction.Session); }
public void Send(TransModel model) { write_queue.Enqueue(model); if (!isWrite) { Write(); } }
public TeamManagement(CustomSession _session = null, string param = null) { InitializeComponent(); this._repo = new AuthRepo(); this.trans = new TransModel(); epiSession = _session; DefaultSession(); }
public TreeList(CustomSession _session = null, TransModel param = null) { InitializeComponent(); this._repo = new AuthRepo(); this.trees = new List <TreeViewModel>(); this.selected = new TreeViewModel(); epiSession = _session; DefaultSession(); }
/// <summary> /// 进入房间请求 /// </summary> /// <param name="token"></param> /// <param name="model"></param> void EnterRoomCREQ(BaseToken token, TransModel model) { int result = OnEnterRoom(token, model); if (result != 1) { Send(token, 1002006, result); } }
private void StartCREQ(BaseToken token, TransModel model) { int result = OnStart(token, model); if (result != 1) { Send(token, 1002011, result); } }
private void AddTree(TransModel model, TreeNode root, string parentId) { foreach (var item in trans.Hierarchy.Where(x => x.ParentId == parentId)) { TreeNode nodeChild = new TreeNode(item.TeamId); nodeChild.Tag = item.TeamId; root.Nodes.Add(nodeChild); AddTree(trans, nodeChild, item.TeamId); } }
public async Task <IActionResult> Create([Bind("id,Name,Date1,Married,Phone,Salary")] TransModel transModel) { if (ModelState.IsValid) { _context.Add(transModel); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(transModel)); }
private void ShootCREQ(BaseToken token, TransModel model) { //转发至对应的房间 if (TokenHasRoom(token)) { roomCache[tokenToRoomID[token]].ShootCREQ(token, model); } else { Debugger.Trace("房间不存在"); } }
void PlayerInitCompleted(BaseToken token, TransModel model) { //转发至对应的房间 if (TokenHasRoom(token)) { roomCache[tokenToRoomID[token]].OnInitCompleted(token, model); } else { Debugger.Trace("房间不存在"); } }
// <summary> /// 对缓冲区数据进行处理 /// </summary> void Read() { TransModel model = AbsCoding.Ins.ModelDecoding <TransModel>(ref cache); if (model == null) { isRead = false; return; } msg.Add(model); Read(); }
/// <summary> /// 刷新房间请求 /// </summary> /// <param name="token"></param> /// <param name="model"></param> void RefreshRoomCREQ(BaseToken token, TransModel model) { int result = OnRefreshRoom(token, model); if (result == 1) { Send(token, 1002002, 1, GetRoomsDTO()); } else { Send(token, 1002002, result); } }
/// <summary> /// 登录请求 /// </summary> /// <param name="token"></param> /// <param name="model"></param> public void LoginCREQ(BaseToken token, TransModel model) { int result = OnLogin(token, model); if (result == 1) { Send(token, 1001004, result, GetDTO(cache.GetDALByToken(token).name)); //登录反馈 1001004 } else { Send(token, 1001004, result); } }
/// <summary> /// 处理刷新房间请求 /// </summary> /// <param name="token"></param> /// <param name="model"></param> /// <returns> /// 1 可以刷新 /// -1 连接在某房间中,不用刷新 /// -2 连接未登录 /// </returns> int OnRefreshRoom(BaseToken token, TransModel model) { if (TokenHasRoom(token)) { return(-1); } if (!UserCache.Ins.IsOnline(token)) { return(-2); } return(1); }
/// <summary> /// 创建房间请求 /// </summary> /// <param name="token"></param> /// <param name="model"></param> private void CreateRoomCREQ(BaseToken token, TransModel model) { int result = OnCreateRoom(token, model); if (result != 1) { Send(token, 1002004, result); } else { Send(token, 1002004, result, roomCache[tokenToRoomID[token]].GetDTO()); } }
public IActionResult Index(IFormFile files) { if (files != null) { try { if (files.Length > 0) { string fileExtension = Path.GetExtension(files.FileName); if (fileExtension != ".csv") { ViewBag.Message = "Please select the csv file with .csv extension"; return(View()); } var trans = new List <TransModel>(); var sreader = new StreamReader(files.OpenReadStream()); string[] headers = sreader.ReadLine().Split(','); while (!sreader.EndOfStream) { string[] rows = sreader.ReadLine().Split(','); var objfiles = new TransModel() { Name = rows[0].ToString(), Date1 = DateTime.Parse(rows[1].ToString()), Married = bool.Parse(rows[2].ToString()), Phone = rows[3].ToString(), Salary = int.Parse(rows[4].ToString()) }; _context.Trans.Add(objfiles); } using (var target = new MemoryStream()) { files.CopyTo(target); } _context.SaveChanges(); } return(RedirectToAction("Index", "Trans")); } catch (Exception ex) { ViewBag.Message = ex.Message; } } else { ViewBag.Message = "Please select the file first to upload."; } return(View()); }
public TransModel CreateAddSql(DataService.Model.OrderInfo model) { TransModel tm = new TransModel(); StringBuilder strSql = new StringBuilder(); strSql.Append("insert into OrderInfo("); strSql.Append("OrderID,OrderCode,UserID,Use_UserID,Buyer,ProName,Province,City,Area,Address,remarks1,remarks2,IntoDate,OrderDate,IsCheck,IsDel,AddTime)"); strSql.Append(" values ("); strSql.Append("@OrderID,@OrderCode,@UserID,@Use_UserID,@Buyer,@ProName,@Province,@City,@Area,@Address,@remarks1,@remarks2,@IntoDate,@OrderDate,@IsCheck,@IsDel,@AddTime)"); SqlParameter[] parameters = { new SqlParameter("@OrderID", SqlDbType.Int, 4), new SqlParameter("@UserID", SqlDbType.Int, 4), new SqlParameter("@Use_UserID", SqlDbType.Int, 4), new SqlParameter("@Buyer", SqlDbType.VarChar, 200), new SqlParameter("@ProName", SqlDbType.NVarChar, 50), new SqlParameter("@Province", SqlDbType.NVarChar, 50), new SqlParameter("@City", SqlDbType.NVarChar, 50), new SqlParameter("@Area", SqlDbType.NVarChar, 50), new SqlParameter("@Address", SqlDbType.VarChar, 200), new SqlParameter("@remarks1", SqlDbType.VarChar, 100), new SqlParameter("@remarks2", SqlDbType.VarChar, 2000), new SqlParameter("@IntoDate", SqlDbType.DateTime), new SqlParameter("@OrderDate", SqlDbType.DateTime), new SqlParameter("@IsCheck", SqlDbType.Bit, 1), new SqlParameter("@IsDel", SqlDbType.Bit, 1), new SqlParameter("@AddTime", SqlDbType.DateTime) }; parameters[0].Value = model.OrderID; parameters[1].Value = model.OrderCode; parameters[2].Value = model.UserID; parameters[3].Value = model.Use_UserID; parameters[4].Value = model.Buyer; parameters[5].Value = model.ProName; parameters[6].Value = model.Province; parameters[7].Value = model.City; parameters[8].Value = model.Area; parameters[9].Value = model.Address; parameters[10].Value = model.remarks1; parameters[11].Value = model.remarks2; parameters[12].Value = model.IntoDate; parameters[13].Value = model.OrderDate; parameters[14].Value = model.IsCheck; parameters[15].Value = model.IsDel; parameters[16].Value = model.AddTime; tm.Sql = strSql.ToString(); tm.parameters = parameters; return(tm); }
public void Write() { if (write_queue.Count == 0) { isWrite = false; return; } TransModel model = write_queue.Dequeue(); byte[] value = AbsCoding.Ins.ModelEncoding(model); socket.Send(value); Write(); }
/// <summary> /// /// </summary> /// <param name="token"></param> /// <param name="model"></param> /// <returns> /// 1 可以移除 /// -1 连接未登录 /// -2 不是有效连接 //连接不在房间内 /// -3 连接对应房间不存在 /// -4 不是房主,不能踢人 /// -5 dto出错或踢的人是自己 /// -6 踢的人不存在 /// </returns> int OnRemove(BaseToken token, TransModel model) { if (!UserCache.Ins.IsOnline(token)) { return(-1); } //if (!tokenToRoomID.ContainsKey(token)) { // return -2; //} //long id= tokenToRoomID[token]; //if (!roomCache.ContainsKey(id)) { // tokenToRoomID.Remove(token, out id); // return -3; //} if (!IsVaildToken(token)) { return(-2); } long id = tokenToRoomID[token]; string tName = UserCache.Ins.GetDALByToken(token).name; if (!roomCache[id].masterName.Equals(tName)) { return(-4); } if (string.IsNullOrEmpty(model.GetMsg <string>()) || model.GetMsg <string>().Equals(tName)) { return(-5); } if (!roomCache[id].allTokens.ContainsKey(model.GetMsg <string>())) { return(-6); } roomCache[id].Remove(model.GetMsg <string>()); return(1); }
public void OnMsgReceive(TransModel model) { if (msgPool.ContainsKey(model.pID)) { lock (msgPool[model.pID]) { foreach (var item in msgPool[model.pID]) { if (item != null) { item(model); } else { RemoveFunByPid(model.pID, item); } } } } }
public void ChangeUserDataCREQ(BaseToken token, TransModel model) { if (!string.IsNullOrEmpty(model.GetMsg <UserDTO>().name)) { UserDTO d = model.GetMsg <UserDTO>(); UserDAL dal = new UserDAL(); dal.clothData = d.clothData; dal.hairData = d.hairData; dal.headID = d.headID; if (UserCache.Ins.SaveUserDAL(token, dal)) { Send(token, 1002802, 1);//更换成功 } else { Send(token, 1002802, 0);//更换失败 } } }
/// <summary> /// 客户端的状态信息 /// </summary> /// <param name="token"></param> /// <param name="model"></param> internal void StatusCREQ(BaseToken token, TransModel model) { //throw new NotImplementedException(); if (IsVaildUserModel(token)) { //同步客户端模型状态(每个客户端5秒发一次过来) try { BaseModel m = model.GetMsg <BaseModel>(); if (GetModelByToken(token) != null && GetModelByToken(token).id == m.id) { Broadcast(tokenToModelID.Keys.ToList(), 1003202, 0, m); } } catch (Exception ex) { Debugger.Error(ex.ToString()); //throw; } } }
/// <summary> /// 处理进入房间请求 /// </summary> /// <param name="token"></param> /// <param name="model"></param> /// <returns> /// 1 进入房间成功 /// -1 房间不存在或已过期 /// -2 连接还在某房间中 /// -3 连接未登录 /// -4 密码错误 /// -5 人数已满 /// -6 进入房间出错 /// </returns> int OnEnterRoom(BaseToken token, TransModel model) { int roomID = model.area; if (!ContainsRoomByID(roomID)) { return(-1); } if (tokenToRoomID.ContainsKey(token)) { return(-2); } if (!UserCache.Ins.IsOnline(token)) { return(-3); } return(roomCache[roomID].EnterCREQ(token, model)); }