public AuthPacketDefinition(AuthServerOpCode opCode, ComplexPacketSegmentStructure segments)
 {
     OpCode    = opCode;
     Structure = segments.Segments.ToList();
 }
Example #2
0
		public virtual void Init(SwitchPacketSegmentStructure swtch, PacketDefinition def)
		{
			m_switch = swtch;

			if (StringValue != null)
			{
				var values = StringValue.Split(',');
				if (values.Length > 0)
				{
					m_value = ParseValue(values[0]);
					m_valueList = new List<object>();
					foreach (var val in values)
					{
						m_valueList.Add(ParseValue(val));
					}
				}
			}

			if (m_value == null)
			{
				throw new Exception("No value given in Switch " + m_switch + " Case for " + def + "");
			}

			if (SegmentList.Count > 1 || SegmentList.Count == 0)
			{
				Structure = new ComplexPacketSegmentStructure(SegmentList);
			}
			else
			{
				Structure = SegmentList[0];
			}

			foreach (var segment in SegmentList)
			{
				segment.Init(def);
			}
		}
 public RealmPacketDefinition(RealmServerOpCode[] opCodes, ComplexPacketSegmentStructure segments)
 {
     OpCodes   = opCodes;
     Structure = segments.Segments.ToList();
 }