public void Write(hsStream s) { ContentsFlags contents = IGetContentFlags(s.Version); s.WriteByte((byte)contents); fLocation.Write(s); if (s.Version.IsPlasma20) if ((contents & ContentsFlags.kHasLoadMask) != 0) fLoadMask.Write(s); plManagedType.Write(s, fClassType); if (s.Version.IsUruLive || s.Version.IsPlasma21) s.WriteUInt(fObjectID.Value); s.WriteSafeString(fObjectName); if (s.Version.IsPlasma20) if ((contents & ContentsFlags.kHasCloneIDs) != 0) { s.WriteUInt(fCloneID); s.WriteUInt(fClonePlayerID); } if (s.Version.IsPlasma21) if ((contents & (ContentsFlags.kHasLoadMask | ContentsFlags.kHasLoadMask2)) != 0) fLoadMask.Write(s); }
protected override void IWrite(hsStream s, hsResMgr mgr) { s.WriteSafeString(fName); s.WriteInt((int)fDataType); s.WriteFloat(fNumber); mgr.WriteKey(s, fKey); }
public override void Write(hsStream s, hsResMgr mgr) { base.Write(s, mgr); s.WriteBool(fIsPlayer); mgr.WriteKey(s, fSpawnPoint); // Cyan is really quite stupid sometimes... if (fInitialTask == null) s.WriteBool(false); else { s.WriteBool(true); mgr.WriteCreatable(s, fInitialTask); } if (s.Version.IsMystOnline) s.WriteSafeString(fUserStr); }
public override void Write(hsStream s, hsResMgr mgr) { base.Write(s, mgr); s.WriteByte((byte)fCommand); s.WriteSafeString(fUser); s.WriteUInt(fPlayerID); s.WriteSafeWString(fString); s.WriteInt((int)fFlags); s.WriteFloat(fDelay); s.WriteInt(fValue); }