Beispiel #1
0
        public void Serialize <TDoc, TCursor>(IO.TagElementStream <TDoc, TCursor, string> s)
            where TDoc : class
            where TCursor : class
        {
            var xs = s.GetSerializerInterface();

            s.StreamBVector("Offset", ref mOffset, xmlSource: XML.XmlUtil.kSourceAttr);
            s.StreamAttributeOpt("FlyIn", ref mFlyIn, Predicates.IsTrue);

            XML.BXmlSerializerInterface.StreamSquadID(s, xs, ref mSquadID);
        }
Beispiel #2
0
        public void Serialize <TDoc, TCursor>(IO.TagElementStream <TDoc, TCursor, string> s)
            where TDoc : class
            where TCursor : class
        {
            var xs = s.GetSerializerInterface();

            s.StreamBVector("Offset", ref mOffset, xmlSource: XML.XmlUtil.kSourceAttr);

            xs.StreamDBID(s, XML.XmlUtil.kNoXmlName, ref mObjectTypeID, DatabaseObjectKind.Object, false, XML.XmlUtil.kSourceCursor);
            xs.StreamDBID(s, "BuildOther", ref mBuildOtherID, DatabaseObjectKind.Object, xmlSource: XML.XmlUtil.kSourceAttr);

            s.StreamAttributeOpt("DoppleOnStart", ref mDoppleOnStart, Predicates.IsTrue);
        }
        public void Serialize <TDoc, TCursor>(IO.TagElementStream <TDoc, TCursor, string> s)
            where TDoc : class
            where TCursor : class
        {
            var xs = s.GetSerializerInterface();

            s.StreamAttributeEnumOpt("Type", ref mType, e => e != ChildObjectType.Object);

            xs.StreamDBID(s, XML.XmlUtil.kNoXmlName, ref mID, TypeObjectKind, isOptional: false, xmlSource: XML.XmlUtil.kSourceCursor);
            s.StreamAttributeOpt("AttachBone", ref mAttachBone, Predicates.IsNotNullOrEmpty);
            s.StreamBVector("Offset", ref mOffset, xmlSource: XML.XmlUtil.kSourceAttr);
            s.StreamAttributeOpt("Rotation", ref mRotation, Predicates.IsNotZero);
            xs.StreamDBID(s, "UserCiv", ref mUserCivID, DatabaseObjectKind.Civ, xmlSource: XML.XmlUtil.kSourceAttr);
        }
Beispiel #4
0
        public override void Serialize <TDoc, TCursor>(IO.TagElementStream <TDoc, TCursor, string> s)
        {
            base.Serialize(s);

            var xs = s.GetSerializerInterface();

            s.StreamAttributeOpt("Icon", ref mIconName, Predicates.IsNotNullOrEmpty);
            s.StreamAttributeOpt("Test", ref mTest, Predicates.IsTrue);
            s.StreamAttributeOpt("Alpha", ref mAlpha, Predicates.IsNotNone);

            s.StreamAttributeOpt("Random", ref mIsRandom, Predicates.IsTrue);
            s.StreamAttributeOpt("StatsID", ref mStatsID, Predicates.IsNotNone);
            s.StreamAttributeOpt("LeaderPickerOrder", ref mLeaderPickerOrder, Predicates.IsNotNone);
            s.StreamAttributeOpt("DefaultPlayerSlotFlags", ref mDefaultPlayerSlotFlags, Predicates.IsNotZero,
                                 NumeralBase.Hex);

            xs.StreamDBID(s, "Tech", ref mTechID, DatabaseObjectKind.Tech);
            xs.StreamDBID(s, "Civ", ref mCivID, DatabaseObjectKind.Civ);
            xs.StreamDBID(s, "Power", ref mPowerID, DatabaseObjectKind.Power);
            s.StreamElementOpt("FlashCivID", ref mFlashCivID, Predicates.IsNotNone);
            s.StreamStringOpt("FlashImg", ref mFlashImg, toLower: false, type: XML.XmlUtil.kSourceElement);
            // TODO: HW360's FlashPortrait elements have an ending " character (sans a starting quote). Be careful!
            s.StreamStringOpt("FlashPortrait", ref mFlashPortrait, toLower: false, type: XML.XmlUtil.kSourceElement);
            XML.XmlUtil.Serialize(s, SupportPowers, BLeaderSupportPower.kBListXmlParams);
            XML.XmlUtil.Serialize(s, StartingSquads, BLeaderStartingSquad.kBListXmlParams);
            XML.XmlUtil.Serialize(s, StartingUnits, BLeaderStartingUnit.kBListXmlParams);
            s.StreamBVector("RallyPointOffset", ref mRallyPointOffset);
            s.StreamElementOpt("RepairRate", ref mRepairRate, Predicates.IsNotZero);
            s.StreamElementOpt("RepairDelay", ref mRepairDelay, Predicates.IsNotZero);
            XML.XmlUtil.Serialize(s, RepairCost, kRepairCostTypeValuesXmlParams);
            s.StreamElementOpt("RepairTime", ref mRepairTime, Predicates.IsNotZero);
            XML.XmlUtil.Serialize(s, ReverseHotDropCost, kReverseHotDropCostTypeValuesXmlParams);
            XML.XmlUtil.Serialize(s, Populations, BPopulation.kBListXmlParams);
            XML.XmlUtil.Serialize(s, Resources, BResource.kBListTypeValuesXmlParams);
            s.StreamStringOpt("UIControlBackground", ref mUIControlBackground, toLower: false, type: XML.XmlUtil.kSourceElement);
        }