public override void ChildDeserialize(IGenericReader reader) { var version = reader.ReadEncodedInt(); CorpseWithBone = (Container)reader.ReadItem(); }
public override void Deserialize(IGenericReader reader) { base.Deserialize(reader); var version = reader.ReadEncodedInt(); }
public virtual void ChildDeserialize(IGenericReader reader) { int version = reader.ReadEncodedInt(); }
public override void ChildDeserialize(IGenericReader reader) { var version = reader.ReadEncodedInt(); m_Ambushed = reader.ReadBool(); }
public FactionState(IGenericReader reader) { int version = reader.ReadEncodedInt(); switch (version) { case 5: { LastAtrophy = reader.ReadDateTime(); goto case 4; } case 4: { int count = reader.ReadEncodedInt(); for (int i = 0; i < count; ++i) { DateTime time = reader.ReadDateTime(); if (i < m_LastBroadcasts.Length) { m_LastBroadcasts[i] = time; } } goto case 3; } case 3: case 2: case 1: { Election = new Election(reader); goto case 0; } case 0: { m_Faction = Faction.ReadReference(reader); m_Commander = reader.ReadMobile(); if (version < 5) { LastAtrophy = DateTime.UtcNow; } if (version < 4) { DateTime time = reader.ReadDateTime(); if (m_LastBroadcasts.Length > 0) { m_LastBroadcasts[0] = time; } } Tithe = reader.ReadEncodedInt(); Silver = reader.ReadEncodedInt(); int memberCount = reader.ReadEncodedInt(); Members = new List <PlayerState>(); for (int i = 0; i < memberCount; ++i) { PlayerState pl = new PlayerState(reader, m_Faction, Members); if (pl.Mobile != null) { Members.Add(pl); } } m_Faction.State = this; m_Faction.ZeroRankOffset = Members.Count; Members.Sort(); for (int i = Members.Count - 1; i >= 0; i--) { PlayerState player = Members[i]; if (player.KillPoints <= 0) { m_Faction.ZeroRankOffset = i; } else { player.RankIndex = i; } } FactionItems = new List <FactionItem>(); if (version >= 2) { int factionItemCount = reader.ReadEncodedInt(); for (int i = 0; i < factionItemCount; ++i) { FactionItem factionItem = new FactionItem(reader, m_Faction); Timer.DelayCall(TimeSpan.Zero, factionItem.CheckAttach); // sandbox attachment } } Traps = new List <BaseFactionTrap>(); if (version >= 3) { int factionTrapCount = reader.ReadEncodedInt(); for (int i = 0; i < factionTrapCount; ++i) { if (reader.ReadItem() is BaseFactionTrap trap && !trap.CheckDecay()) { Traps.Add(trap); } } } break; } } if (version < 1) { Election = new Election(m_Faction); } }
public override void ChildDeserialize(IGenericReader reader) { var version = reader.ReadEncodedInt(); m_MaxProgress = reader.ReadInt(); }
public override void ChildDeserialize(IGenericReader reader) { var version = reader.ReadEncodedInt(); StolenTreasure = reader.ReadBool(); }
public Tournament(IGenericReader reader) { int version = reader.ReadEncodedInt(); switch (version) { case 5: { FactionRestricted = reader.ReadBool(); goto case 4; } case 4: { EventController = reader.ReadItem() as EventController; goto case 3; } case 3: { SuddenDeathRounds = reader.ReadEncodedInt(); goto case 2; } case 2: { TourneyType = (TourneyType)reader.ReadEncodedInt(); goto case 1; } case 1: { GroupType = (GroupingType)reader.ReadEncodedInt(); TieType = (TieType)reader.ReadEncodedInt(); SignupPeriod = reader.ReadTimeSpan(); goto case 0; } case 0: { if (version < 3) { SuddenDeathRounds = 3; } m_ParticipantsPerMatch = reader.ReadEncodedInt(); m_PlayersPerParticipant = reader.ReadEncodedInt(); SignupPeriod = reader.ReadTimeSpan(); CurrentStage = TournamentStage.Inactive; Pyramid = new TourneyPyramid(); Ruleset = new Ruleset(RulesetLayout.Root); Ruleset.ApplyDefault(Ruleset.Layout.Defaults[0]); Participants = new List <TourneyParticipant>(); Undefeated = new List <TourneyParticipant>(); Arenas = new List <Arena>(); break; } } Timer.DelayCall(SliceInterval, SliceInterval, Slice); }
public override void Deserialize(IGenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); LoadSBInfo(); List <SBInfo> sbInfos = this.SBInfos; switch (version) { case 1: { int index; while ((index = reader.ReadEncodedInt()) > 0) { int doubled = reader.ReadEncodedInt(); if (sbInfos != null) { index -= 1; int sbInfoIndex = index % sbInfos.Count; int buyInfoIndex = index / sbInfos.Count; if (sbInfoIndex >= 0 && sbInfoIndex < sbInfos.Count) { SBInfo sbInfo = sbInfos[sbInfoIndex]; List <GenericBuyInfo> buyInfo = sbInfo.BuyInfo; if (buyInfo != null && buyInfoIndex >= 0 && buyInfoIndex < buyInfo.Count) { GenericBuyInfo gbi = (GenericBuyInfo)buyInfo[buyInfoIndex]; int amount = 20; switch (doubled) { case 1: amount = 40; break; case 2: amount = 80; break; case 3: amount = 160; break; case 4: amount = 320; break; case 5: amount = 640; break; case 6: amount = 999; break; } gbi.Amount = gbi.MaxAmount = amount; } } } } break; } } }
public override void ChildDeserialize(IGenericReader reader) { int version = reader.ReadEncodedInt(); m_SentRadarConversion = reader.ReadBool(); }
public override void ChildDeserialize(IGenericReader reader) { int version = reader.ReadEncodedInt(); TaughtHowToUseSkills = reader.ReadBool(); }
public override void Deserialize(IGenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 3: { m_ReplenishesCharges = reader.ReadBool(); if (m_ReplenishesCharges) { m_LastReplenished = reader.ReadDateTime(); } goto case 2; } case 2: { m_Crafter = reader.ReadEntity <Mobile>(); m_Quality = (InstrumentQuality)reader.ReadEncodedInt(); m_Slayer = (SlayerName)reader.ReadEncodedInt(); m_Slayer2 = (SlayerName)reader.ReadEncodedInt(); UsesRemaining = reader.ReadEncodedInt(); m_WellSound = reader.ReadEncodedInt(); m_BadlySound = reader.ReadEncodedInt(); break; } case 1: { m_Crafter = reader.ReadEntity <Mobile>(); m_Quality = (InstrumentQuality)reader.ReadEncodedInt(); m_Slayer = (SlayerName)reader.ReadEncodedInt(); UsesRemaining = reader.ReadEncodedInt(); m_WellSound = reader.ReadEncodedInt(); m_BadlySound = reader.ReadEncodedInt(); break; } case 0: { m_WellSound = reader.ReadInt(); m_BadlySound = reader.ReadInt(); UsesRemaining = Utility.RandomMinMax(InitMinUses, InitMaxUses); break; } } CheckReplenishUses(); }
public override void Deserialize(IGenericReader reader) { base.Deserialize(reader); int version = reader.ReadInt(); switch (version) { case 0: { m_EffectDelay = reader.ReadTimeSpan(); m_TriggerDelay = reader.ReadTimeSpan(); m_SoundDelay = reader.ReadTimeSpan(); m_Source = ReadEntity(reader); m_Target = ReadEntity(reader); m_Trigger = reader.ReadEntity <EffectController>(); m_FixedDirection = reader.ReadBool(); m_Explodes = reader.ReadBool(); m_PlaySoundAtTrigger = reader.ReadBool(); m_EffectType = (ECEffectType)reader.ReadEncodedInt(); m_EffectLayer = (EffectLayer)reader.ReadEncodedInt(); m_TriggerType = (EffectTriggerType)reader.ReadEncodedInt(); m_ItemID = reader.ReadEncodedInt(); m_Hue = reader.ReadEncodedInt(); m_RenderMode = reader.ReadEncodedInt(); m_Speed = reader.ReadEncodedInt(); m_Duration = reader.ReadEncodedInt(); m_ParticleEffect = reader.ReadEncodedInt(); m_ExplodeParticleEffect = reader.ReadEncodedInt(); m_ExplodeSound = reader.ReadEncodedInt(); m_Unknown = reader.ReadEncodedInt(); m_SoundID = reader.ReadEncodedInt(); m_TriggerRange = reader.ReadEncodedInt(); break; } } }