示例#1
0
        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);
        }
示例#2
0
 protected override void IWrite(hsStream s, hsResMgr mgr)
 {
     s.WriteSafeString(fName);
     s.WriteInt((int)fDataType);
     s.WriteFloat(fNumber);
     mgr.WriteKey(s, fKey);
 }
示例#3
0
        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);
        }
示例#4
0
        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);
        }