//发送请求移动消息 //public bool RequestMove(int mode, int arg_num, float[] args, string info) public bool RequestMove(ref VarList args, ref VarList ret) { try { if (args.GetCount() < 3) { //Log.Trace(" arguments count must be > 3"); ret.AddBool(false); return(false); } int mode = args.GetInt(0); int arg_num = args.GetInt(1); if (arg_num > 256) { //Log.Trace("more arguments"); ret.AddBool(false); return(false); } if (args.GetCount() < (arg_num + 2)) { //Log.Trace("too few arguments"); ret.AddBool(false); return(false); } StoreArchive ar = new StoreArchive(m_buffer, m_buffer.Length); ar.WriteInt8(GlobalClineMsgId.CLIENT_REQUEST_MOVE);//消息ID ar.WriteInt8(mode); ar.WriteInt16(arg_num); for (int i = 0; i < arg_num; i++) { float value = args.GetFloat(2 + i); ar.WriteFloat(value); } string info = ""; if (args.GetCount() > (arg_num + 2)) { info = args.GetString(arg_num + 2); } ar.WriteStringNoLen(info); return(m_sender.Send(ar.GetData(), ar.GetLength())); } catch (System.Exception ex) { Log.TraceExcep(ref ex); return(false); } }