예제 #1
0
        public void SetMessage(plMessage msg, hsResMgr mgr)
        {
            hsStream s = new hsStream(new MemoryStream());
            s.Version = mgr.Version;
            if (msg != null)
                mgr.WriteCreatable(s, msg);
            fHelper.Stream = s;
            s.Close();

            // Fill in the flags
            // TODO: CCR -> AllPlayers
            InterAgeRouting = msg.InterAgeRouting;
            UseRelRegions = msg.UseRelRegions;
        }
예제 #2
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);
        }
예제 #3
0
        public override void Write(hsStream s, hsResMgr mgr)
        {
            base.Write(s, mgr);

            mgr.WriteKey(s, fCloneKey);
            mgr.WriteKey(s, fRequestorKey);
            s.WriteUInt(fOriginatingPlayerID);
            s.WriteUInt(fUserData);
            s.WriteBool(fValidMsg);
            s.WriteBool(fIsLoading);
            mgr.WriteCreatable(s, fTriggerMsg);
        }