/// <summary> /// Use this method to pass some params into your packet. /// </summary> protected void SetVariable(object value) { var type = _variableTypes[_currentSetterIndex]; var index = _variableIndexes[_currentSetterIndex]; switch (type) { case VariableType.Byte: PacketSerializer.SerializeByte(value, Data, index); break; case VariableType.Short: PacketSerializer.SerializeShort(value, Data, index); break; case VariableType.Int: PacketSerializer.SerializeInt(value, Data, index); break; case VariableType.Float: PacketSerializer.SerializeFloat(value, Data, index); break; case VariableType.Vector2: PacketSerializer.SerializeVector2(value, Data, index); break; case VariableType.Vector3: PacketSerializer.SerializeVector3(value, Data, index); break; } _currentSetterIndex++; if (_currentSetterIndex == _variableTypes.Length) { _currentSetterIndex = 0; } }