public override void Save(BaseNetworkable.SaveInfo info) { base.Save(info); info.msg.relationshipManager = (__Null)Pool.Get <RelationshipManager>(); ((RelationshipManager)info.msg.relationshipManager).maxTeamSize = (__Null)RelationshipManager.maxTeamSize; if (!info.forDisk) { return; } ((RelationshipManager)info.msg.relationshipManager).lastTeamIndex = (__Null)(long)this.lastTeamIndex; ((RelationshipManager)info.msg.relationshipManager).teamList = (__Null)Pool.GetList <ProtoBuf.PlayerTeam>(); foreach (KeyValuePair <ulong, RelationshipManager.PlayerTeam> playerTeam1 in this.playerTeams) { RelationshipManager.PlayerTeam playerTeam2 = playerTeam1.Value; if (playerTeam2 != null) { ProtoBuf.PlayerTeam playerTeam3 = (ProtoBuf.PlayerTeam)Pool.Get <ProtoBuf.PlayerTeam>(); playerTeam3.teamLeader = (__Null)(long)playerTeam2.teamLeader; playerTeam3.teamID = (__Null)(long)playerTeam2.teamID; playerTeam3.teamName = (__Null)playerTeam2.teamName; playerTeam3.members = (__Null)Pool.GetList <ProtoBuf.PlayerTeam.TeamMember>(); foreach (ulong member in playerTeam2.members) { ProtoBuf.PlayerTeam.TeamMember teamMember = (ProtoBuf.PlayerTeam.TeamMember)Pool.Get <ProtoBuf.PlayerTeam.TeamMember>(); BasePlayer byId = RelationshipManager.FindByID(member); teamMember.displayName = Object.op_Inequality((Object)byId, (Object)null) ? (__Null)byId.displayName : (__Null)"DEAD"; teamMember.userID = (__Null)(long)member; ((List <ProtoBuf.PlayerTeam.TeamMember>)playerTeam3.members).Add(teamMember); } ((List <ProtoBuf.PlayerTeam>)((RelationshipManager)info.msg.relationshipManager).teamList).Add(playerTeam3); } } }
public override void Load(BaseNetworkable.LoadInfo info) { base.Load(info); if (!info.fromDisk || info.msg.relationshipManager == null) { return; } this.lastTeamIndex = (ulong)((RelationshipManager)info.msg.relationshipManager).lastTeamIndex; using (List <ProtoBuf.PlayerTeam> .Enumerator enumerator1 = ((List <ProtoBuf.PlayerTeam>)((RelationshipManager)info.msg.relationshipManager).teamList).GetEnumerator()) { while (enumerator1.MoveNext()) { ProtoBuf.PlayerTeam current1 = enumerator1.Current; RelationshipManager.PlayerTeam playerTeam = (RelationshipManager.PlayerTeam)Pool.Get <RelationshipManager.PlayerTeam>(); playerTeam.teamLeader = (ulong)current1.teamLeader; playerTeam.teamID = (ulong)current1.teamID; playerTeam.teamName = (string)current1.teamName; playerTeam.members = new List <ulong>(); using (List <ProtoBuf.PlayerTeam.TeamMember> .Enumerator enumerator2 = ((List <ProtoBuf.PlayerTeam.TeamMember>)current1.members).GetEnumerator()) { while (enumerator2.MoveNext()) { ProtoBuf.PlayerTeam.TeamMember current2 = enumerator2.Current; playerTeam.members.Add((ulong)current2.userID); } } this.playerTeams[playerTeam.teamID] = playerTeam; } } }
public override void Save(BaseNetworkable.SaveInfo info) { base.Save(info); info.msg.relationshipManager = Pool.Get <ProtoBuf.RelationshipManager>(); info.msg.relationshipManager.maxTeamSize = RelationshipManager.maxTeamSize; if (info.forDisk) { info.msg.relationshipManager.lastTeamIndex = this.lastTeamIndex; info.msg.relationshipManager.teamList = Pool.GetList <ProtoBuf.PlayerTeam>(); foreach (KeyValuePair <ulong, RelationshipManager.PlayerTeam> playerTeam in this.playerTeams) { RelationshipManager.PlayerTeam value = playerTeam.Value; if (value == null) { continue; } ProtoBuf.PlayerTeam list = Pool.Get <ProtoBuf.PlayerTeam>(); list.teamLeader = value.teamLeader; list.teamID = value.teamID; list.teamName = value.teamName; list.members = Pool.GetList <ProtoBuf.PlayerTeam.TeamMember>(); foreach (ulong member in value.members) { ProtoBuf.PlayerTeam.TeamMember teamMember = Pool.Get <ProtoBuf.PlayerTeam.TeamMember>(); BasePlayer basePlayer = RelationshipManager.FindByID(member); teamMember.displayName = (basePlayer != null ? basePlayer.displayName : "DEAD"); teamMember.userID = member; list.members.Add(teamMember); } info.msg.relationshipManager.teamList.Add(list); } } }
public void ToProto(Stream stream) { PlayerTeam.Serialize(stream, this); }
public static void SerializeLengthDelimited(Stream stream, PlayerTeam instance) { byte[] bytes = PlayerTeam.SerializeToBytes(instance); ProtocolParser.WriteUInt32(stream, (uint)bytes.Length); stream.Write(bytes, 0, (int)bytes.Length); }
public void ResetToPool() { PlayerTeam.ResetToPool(this); }
public virtual void ReadFromStream(Stream stream, int size, bool isDelta = false) { PlayerTeam.DeserializeLength(stream, size, this, isDelta); }
public void FromProto(Stream stream, bool isDelta = false) { PlayerTeam.Deserialize(stream, this, isDelta); }