protected override void ParseMessage(IncomingMessage inMessage) { base.ParseMessage(inMessage); slotName = inMessage.ReadString(); effectName = inMessage.ReadString(); orientation = inMessage.ReadQuaternion(); velocityMultiplier = inMessage.ReadSingle(); particleSizeMultiplier = inMessage.ReadSingle(); particleBooleans = inMessage.ReadByte(); if (GetFlag(Flags.HasColor)) color = inMessage.ReadColor(); }
protected override void ParseMessage(IncomingMessage inMessage) { base.ParseMessage(inMessage); name = inMessage.ReadString(); location = inMessage.ReadIntVector(); orientation = inMessage.ReadQuaternion(); scale = inMessage.ReadVector(); objectType = (ObjectNodeType)inMessage.ReadInt32(); followTerrain = inMessage.ReadBool(); try { direction = inMessage.ReadVector(); lastInterp = inMessage.ReadTimestamp(); } catch (System.IO.EndOfStreamException) { // ignore this - it means we got an old style response } }
protected override void ParseMessage(IncomingMessage inMessage) { orientation = inMessage.ReadQuaternion(); }
protected override void ParseMessage(IncomingMessage inMessage) { base.ParseMessage(inMessage); lightType = (LightNodeType)inMessage.ReadInt32(); name = inMessage.ReadString(); diffuse = inMessage.ReadColor(); specular = inMessage.ReadColor(); attenuationRange = inMessage.ReadSingle(); attenuationConstant = inMessage.ReadSingle(); attenuationLinear = inMessage.ReadSingle(); attenuationQuadratic = inMessage.ReadSingle(); switch (lightType) { case LightNodeType.Point: location = inMessage.ReadIntVector(); break; case LightNodeType.Directional: orientation = inMessage.ReadQuaternion(); break; case LightNodeType.Spotlight: location = inMessage.ReadIntVector(); orientation = inMessage.ReadQuaternion(); spotlightInnerAngle = inMessage.ReadSingle(); spotlightOuterAngle = inMessage.ReadSingle(); spotlightFalloff = inMessage.ReadSingle(); break; default: throw new Exception("Invalid light node type: " + lightType); } }