public override void Write(PythonWriter pw) { pw.WriteTuple(1); pw.WriteList(ContextIdList.Count); foreach (var contextId in ContextIdList) { pw.WriteUInt(contextId); } }
public override void Write(PythonWriter pw) { pw.WriteTuple(6); pw.WriteList(StateIds.Count); foreach (var stateId in StateIds) { pw.WriteUInt(stateId); } pw.WriteDouble(Rotation); pw.WriteULong(TrackingTargetEntityId); pw.WriteDouble(MovementModifier); pw.WriteUInt(DesiredPostureId); pw.WriteBool(IsHoldingCombatMode); }
public override void Write(PythonWriter pw) { pw.WriteTuple(3); pw.WriteUInt(EntityId); pw.WriteInt((int)ClassId); /* * These packets will be called on the newly created entity. It behaves the same as if we've sent them separately. Order matters! * * Possible packets that can be appended here: (Not all of them are reasonable to include...) * + PhysicalEntity * - BodyAttributes * - WorldLocationDescriptor * - WorldPlacementDescriptor * - IsTargetable * - ServerSkeleton * - ExamineResults * - GameEffectAttached * - GameEffectAttachFailed * - GameEffectTick * - CallGameEffectMethod * - GameEffectDetached * - GameEffects * - GameEffectUpdateTooltip * - PerformObjectAbility * + CharacterSelectionPod augmentation: * - CharacterInfo * - CloneCreditsChanged * + Other augmentations: ... */ if (EntityData.Count > 0) { pw.WriteList(EntityData.Count); foreach (var packet in EntityData) { pw.WriteTuple(2); pw.WriteInt((int)packet.Opcode); packet.Write(pw); } } else { pw.WriteNoneStruct(); } }