public bool GetInt64(int row, int col, ref long lValue) { try { if (row >= GetRowCount() || col >= GetColcount()) { lValue = 0; return(false); } VarList row_value = (VarList)rowSet[row]; if (row_value.GetType(col) != VarType.Int64) { lValue = 0; return(false); } lValue = row_value.GetInt64(col); } catch (Exception ex) { lValue = 0; LogSystem.LogError(ex.ToString()); return(false); } return(true); }
/// <summary> /// 自动根据类型读取index位置的数据 返回值为string /// </summary> /// <param name="args"></param> /// <param name="index"></param> /// <returns></returns> public static string GetVarList(VarList args, int index) { int type = args.GetType(index); switch (type) { case VarType.Bool: return(args.GetBool(index) ? "true" : "false"); case VarType.Int: return(args.GetInt(index).ToString()); case VarType.String: return(args.GetString(index)); case VarType.WideStr: return(args.GetWideStr(index)); case VarType.Object: return(args.GetObject(index).ToString()); case VarType.Float: return(args.GetFloat(index).ToString()); case VarType.Double: return(args.GetDouble(index).ToString()); case VarType.Int64: return(args.GetInt64(index).ToString()); default: return("null"); } }
public bool AddMsgVarList(StoreArchive ar, VarList args, int beg, int end) { try { for (int i = beg; i < end; ++i) { switch (args.GetType(i)) { case VarType.Int: ar.WriteInt8(VarType.Int); ar.WriteInt32(args.GetInt(i)); break; case VarType.Int64: ar.WriteInt8(VarType.Int64); ar.WriteInt64(args.GetInt64(i)); break; case VarType.Float: ar.WriteInt8(VarType.Float); ar.WriteFloat(args.GetFloat(i)); break; case VarType.Double: ar.WriteInt8(VarType.Double); ar.WriteDouble(args.GetDouble(i)); break; case VarType.String: ar.WriteInt8(VarType.String); ar.WriteString(args.GetString(i)); break; case VarType.WideStr: ar.WriteInt8(VarType.WideStr); ar.WriteWideStr(args.GetWideStr(i)); break; case VarType.Object: ar.WriteInt8(VarType.Object); ar.WriteObject(args.GetObject(i)); break; default: break; } } } catch (Exception ex) { LogSystem.LogError(ex.ToString()); return(false); } return(true); }
public static void PrintVarlist(string strTitle, VarList args, bool flag = false) { if (!flag) { return; } string str = UtilTools.StringBuilder("[", strTitle, " ", DateTime.Now.ToLongTimeString(), "]"); for (int i = 0; i < args.GetCount(); ++i) { switch (args.GetType(i)) { case VarType.Bool: str += (args.GetBool(i) ? "true" : "false"); break; case VarType.Int: str += args.GetInt(i); break; case VarType.String: str += args.GetString(i); break; case VarType.WideStr: str += args.GetWideStr(i); break; case VarType.Object: str += args.GetObject(i); break; case VarType.Int64: str += args.GetInt64(i); break; case VarType.Float: str += args.GetFloat(i); break; default: str += "unknown"; break; } str += " | "; } LogSystem.Log(str); }
public Int64 QueryInt64(int row, int col) { if (row >= GetRows() || col >= GetColCount()) { return(0); } VarList row_value = (VarList)rowSet[row]; if (row_value.GetType(col) != VarType.Int64) { return(0); } return(row_value.GetInt64(col)); }
public string QueryWideStr(int row, int col) { if (row >= GetRows() || col >= GetColCount()) { return(""); } VarList row_value = (VarList)rowSet[row]; if (row_value.GetType(col) != VarType.WideStr) { return(""); } return(row_value.GetWideStr(col)); }
public ObjectID QueryObject(int row, int col) { if (row >= GetRows() || col >= GetColCount()) { return(EmptyID); } VarList row_value = (VarList)rowSet[row]; if (row_value.GetType(col) != VarType.Object) { return(EmptyID); } return(row_value.GetObject(col).Clone()); }
public float QueryFloat(int row, int col) { if (row >= GetRows() || col >= GetColCount()) { return(0.0f); } VarList row_value = (VarList)rowSet[row]; if (row_value.GetType(col) != VarType.Float) { return(0.0f); } return(row_value.GetFloat(col)); }
public double QueryDouble(int row, int col) { if (row >= GetRows() || col >= GetColCount()) { return(0.0); } VarList row_value = (VarList)rowSet[row]; if (row_value.GetType(col) != VarType.Double) { return(0.0); } return(row_value.GetDouble(col)); }
/// <summary> /// 赋值VarList /// </summary> /// <param name="args"></param> /// <param name="index"></param> /// <param name="newList"></param> public static void CopyVarList(ref VarList args, ref VarList newList, int start, int count) { int index = start; for (; index < args.GetCount() && count > 0; index++, count--) { int type = args.GetType(index); switch (type) { case VarType.Bool: newList.AddBool(args.GetBool(index)); break; case VarType.Int: newList.AddInt(args.GetInt(index)); break; case VarType.String: newList.AddString(args.GetString(index)); break; case VarType.WideStr: newList.AddWideStr(args.GetWideStr(index)); break; case VarType.Object: newList.AddObject(args.GetObject(index)); break; case VarType.Float: newList.AddFloat(args.GetFloat(index)); break; case VarType.Double: newList.AddDouble(args.GetDouble(index)); break; case VarType.Int64: newList.AddInt64(args.GetInt64(index)); break; } } }
public bool CreateRole(ref VarList args) { try { if ((args.GetCount() < 2) || (args.GetType(1) != VarType.WideStr)) { LogSystem.Log("arguments error"); return(false); } string roleName = args.GetWideStr(1); //role name byte[] name = new byte[ServerInfo.ROLENAME_MAX_LENGTH * 2 + 1]; Array.Copy(System.Text.Encoding.Default.GetBytes(roleName), name, roleName.Length); //verify // byte[] verify = new byte[16]; StoreArchive ar = StoreArchive.Load(m_buffer, m_buffer.Length); ar.WriteInt8(GlobalClineMsgId.CLIENT_CREATE_ROLE); ar.WriteInt32(args.GetInt(0)); ar.WriteUnicodeLen(roleName, (ServerInfo.ROLENAME_MAX_LENGTH + 1) * 2); ///ar.WriteUserDataNoLen(verify); ar.WriteUInt16((uint)(args.GetCount() - 2)); ///ar.WriteInt32(); if (!AddMsgVarList(ar, args, 2, args.GetCount())) { return(false); } return(m_sender.Send(ar.GetData(), ar.GetLength())); } catch (System.Exception ex) { LogSystem.LogError(ex); return(false); } }
public bool CreateRole(ref VarList args) { try { if ((args.GetCount() < 2) || (args.GetType(1) != VarType.WideStr)) { //Log.Trace("arguments error"); return(false); } string roleName = args.GetWideStr(1); //role name //byte[] name = new byte[ServerInfo.ROLENAME_MAX_LENGTH * 2 + 1]; //Array.Copy(System.Text.Encoding.Default.GetBytes(roleName), name, roleName.Length); //verify byte[] verify = new byte[4]; //校验码4个字节,对消息加密获取验证码 byte[] varify = MsgEncode.Instance.Encode(ref args, 4); StoreArchive ar = new StoreArchive(m_buffer, m_buffer.Length); ar.WriteInt8(GlobalClineMsgId.CLIENT_CREATE_ROLE); ar.WriteInt32(args.GetInt(0)); ar.WriteUnicodeLen(roleName, (ServerInfo.ROLENAME_MAX_LENGTH + 1) * 2); ar.WriteInt16(1); ar.WriteInt8(2); ar.WriteInt32(args.GetInt(2)); //ar.WriteUserDataNoLen(verify); ar.WriteUserDataNoLen(varify); ar.WriteInt8(0); return(m_sender.Send(ar.GetData(), ar.GetLength())); } catch (System.Exception ex) { Log.TraceExcep(ref ex); return(false); } }
public string GetWideStr(int row, int col) { try { if (row >= GetRowCount() || col >= GetColcount()) { return(""); } VarList row_value = (VarList)rowSet[row]; if (row_value.GetType(col) != VarType.WideStr) { return(""); } return(row_value.GetWideStr(col)); } catch (Exception ex) { Log.TraceExcep(ref ex); return(""); } }
public string GetWideStr(int row, int col) { try { if (row >= GetRowCount() || col >= GetColcount()) { return(string.Empty); } VarList row_value = (VarList)rowSet[row]; if (row_value.GetType(col) != VarType.WideStr) { return(string.Empty); } return(row_value.GetWideStr(col)); } catch (Exception ex) { LogSystem.LogError(ex); return(string.Empty); } }
public void GetRoleInfo(ref VarList args, ref VarList ret) { try { if (mRoles == null || mRoles.Count == 0) { return; } if (args == null || ret == null) { return; } if (args.GetCount() == 0) { return; } if (args.GetType(0) != VarType.Int) { return; } int nIndex = args.GetInt(0); if (nIndex >= mRoles.Count) { return; } VarList paraList = mRoles[nIndex].paraList; for (int i = 0; i < paraList.GetCount(); i++) { switch (paraList.GetType(i)) { case VarType.Bool: { ret.AddBool(paraList.GetBool(i)); } break; case VarType.Int: { ret.AddInt(paraList.GetInt(i)); } break; case VarType.Int64: { ret.AddInt64(paraList.GetInt64(i)); } break; case VarType.Float: { ret.AddFloat(paraList.GetFloat(i)); } break; case VarType.Double: { ret.AddDouble(paraList.GetDouble(i)); } break; case VarType.String: { ret.AddString(paraList.GetString(i)); } break; case VarType.WideStr: { ret.AddWideStr(paraList.GetWideStr(i)); } break; case VarType.Object: { ret.AddObject(paraList.GetObject(i)); } break; default: return; } } } catch (Exception ex) { //Log.Trace("GameReceiver.GetRoleInfo Exception:" + ex.ToString()); } return; }
int MsgVarListLen(ref VarList args, int beg, int end) { int len = 0; try { for (int i = beg; i < end; i++) { switch (args.GetType(i)) { case VarType.Int: { len += 1; len += 4; } break; case VarType.Int64: { len += 1; len += 8; } break; case VarType.Float: { len += 1; len += 4; } break; case VarType.Double: { len += 1; len += 4; } break; case VarType.String: { len += 1; len += 4; len += (Encoding.Default.GetByteCount(args.GetString(i)) + 1) * 2; } break; case VarType.WideStr: { len += 1; len += 4; len += (Encoding.Default.GetByteCount(args.GetWideStr(i)) + 1) * 2; } break; case VarType.Object: { len += 1; len += 8; } break; default: //Log.Trace("unkown data type"); break; } //end switch } //end for } catch (Exception ex) { //Log.Trace("Exception:" + ex.ToString()); return(len); }//end try catch return(len); }
bool AddMsgVarList(ref byte[] data, ref int index, ref VarList args, int beg, int end) { try { for (int i = beg; i < end; i++) { switch (args.GetType(i)) { case VarType.Int: { WriteInt8(ref data, ref index, VarType.Int); WriteInt32(ref data, ref index, (uint)args.GetInt(i)); } break; case VarType.Int64: { WriteInt8(ref data, ref index, VarType.Int64); WriteInt64(ref data, ref index, args.GetInt64(i)); } break; case VarType.Float: { WriteInt8(ref data, ref index, VarType.Float); WriteFloat(ref data, ref index, args.GetFloat(i)); } break; case VarType.Double: { WriteInt8(ref data, ref index, VarType.Double); WriteDouble(ref data, ref index, args.GetDouble(i)); } break; case VarType.String: { WriteInt8(ref data, ref index, VarType.String); WriteString(ref data, ref index, args.GetString(i)); } break; case VarType.WideStr: { WriteInt8(ref data, ref index, VarType.WideStr); WriteWideStr(ref data, ref index, args.GetWideStr(i)); } break; case VarType.Object: { WriteInt8(ref data, ref index, VarType.Object); WriteObject(ref data, ref index, args.GetObject(i)); } break; default: //Log.Trace("unkown data type"); break; } //end switch } //end for } catch (Exception ex) { //Log.Trace("Exception:" + ex.ToString()); return(false); }//end try catch return(true); }
bool AddMsgVarList(ref StoreArchive storeAr, ref VarList args, int beg, int end) { try { for (int i = beg; i < end; i++) { switch (args.GetType(i)) { case VarType.Int: { storeAr.WriteInt8(VarType.Int); storeAr.WriteInt32(args.GetInt(i)); } break; case VarType.Int64: { storeAr.WriteInt8(VarType.Int64); storeAr.WriteInt64(args.GetInt64(i)); } break; case VarType.Float: { storeAr.WriteInt8(VarType.Float); storeAr.WriteFloat(args.GetFloat(i)); } break; case VarType.Double: { storeAr.WriteInt8(VarType.Double); storeAr.WriteDouble(args.GetDouble(i)); } break; case VarType.String: { storeAr.WriteInt8(VarType.String); storeAr.WriteString(args.GetString(i)); } break; case VarType.WideStr: { storeAr.WriteInt8(VarType.WideStr); storeAr.WriteWideStr(args.GetWideStr(i)); } break; case VarType.Object: { storeAr.WriteInt8(VarType.Object); storeAr.WriteObject(args.GetObject(i)); } break; default: LogSystem.Log("unkown data type"); break; } //end switch } //end for } catch (Exception ex) { LogSystem.Log("Exception:", ex.ToString()); return(false); }//end try catch return(true); }