/// <summary> /// 内部输出Action的值 /// </summary> /// <returns>无</returns> protected void InternalWriteAction(IGameResponse response) { foreach (object obj in arrayList) { if (obj.GetType() == typeof(String)) { WriteString(response, Convert.ToString(obj)); } else if (obj.GetType() == typeof(Int32)) { WriteDWord(response, Convert.ToInt32(obj)); } else if (obj.GetType() == typeof(Int16)) { WriteWord(response, Convert.ToInt16(obj)); } else if (obj.GetType() == typeof(Byte)) { WriteByte(response, Convert.ToByte(obj)); } else if (obj.GetType() == typeof(DataStruct)) { DataStruct ds = ((DataStruct)obj); ds.WriteActionNum(response); ds.InternalWriteAction(response); } } }
/// <summary> /// 内部输出Action的值 /// </summary> /// <returns>无</returns> protected void InternalWriteAction(IGameResponse response) { foreach (object obj in arrayList) { Type type = obj.GetType(); if (type == typeof(String)) { WriteString(response, Convert.ToString(obj)); } else if (type == typeof(double)) { WriteDouble(response, Convert.ToDouble(obj)); } else if (type == typeof(float)) { WriteFloat(response, Convert.ToSingle(obj)); } else if (type == typeof(Int64)) { WriteLong(response, Convert.ToInt64(obj)); } else if (type == typeof(Int32) || type.IsEnum) { WriteDWord(response, Convert.ToInt32(obj)); } else if (type == typeof(Int16)) { WriteWord(response, Convert.ToInt16(obj)); } else if (type == typeof(Byte)) { WriteByte(response, Convert.ToByte(obj)); } else if (type == typeof(bool)) { WriteBool(response, Convert.ToBoolean(obj)); } else if (type == typeof(DataStruct)) { DataStruct ds = ((DataStruct)obj); ds.WriteActionNum(response); ds.InternalWriteAction(response); } else if (type == typeof(byte[])) { //By Seamoon已序列化好的内容,直接写入 var bytes = (byte[])(obj); WriteDWord(response, bytes.Length); response.Write(bytes); } } }