public SerializedObjectFields InternalGetReplicatedFields(SerializableObject obj) { SerializedObjectFields fields; if (_serializedFields.TryGetValue(obj.classID, out fields)) { return(fields); } fields = new SerializedObjectFields(obj.GetType(), ReplicatedObjectFieldSerializerFactory.instance, true); return(fields); }
public ObjectReplicator(ActorReplicationChannel channel, SerializableObject obj, SerializedObjectFields fields, bool isOwner) { this.channel = channel; _object = obj; wasRelevant = true; this.isOwner = isOwner; fieldStates = new IntHashtableList<ReplicatedObjectFieldState>(); for (int i = 0; i < fields.serializedFields.Values.Count; ++i) { SerializedObjectFields.FieldSpec fieldSpec = fields.serializedFields.Values[i]; fieldStates.Add(fieldSpec.fieldID, new ReplicatedObjectFieldState(fieldSpec)); } }