protected ObjectUpdate(ObjectID objectId, ObjectTypeID typeId, ObjectUpdateFlags updateFlags, MovementUpdate movementUpdate, ValuesUpdate valuesUpdate, ObjectUpdateType?type) { ObjectId = objectId; TypeId = typeId; UpdateFlags = updateFlags; UpdateType = type; MovementUpdate = movementUpdate; ValuesUpdate = valuesUpdate; }
/// <summary> /// Creates a new ObjectUpdate. If this is not a CreationUpdate, then only /// one of movementUpdate or valuesUpdate may be non-null. /// </summary> public ObjectUpdate(ObjectID objectId, ObjectTypeID typeId, ObjectUpdateFlags updateFlags, MovementUpdate movementUpdate, ValuesUpdate valuesUpdate) : this(objectId, typeId, updateFlags, movementUpdate, valuesUpdate, null) { }
/// <summary> /// Creates a new CreationUpdate instance. /// </summary> /// <param name="movementUpdate">Cannot be null</param> /// <param name="valuesUpdate">Cannot be null</param> public CreationUpdate(ObjectID id, ObjectTypeID typeId, ObjectUpdateFlags updateFlags, MovementUpdate movementUpdate, ValuesUpdate valuesUpdate) : base( id, typeId, updateFlags, movementUpdate ?? throw new ArgumentNullException(nameof(movementUpdate)), valuesUpdate ?? throw new ArgumentNullException(nameof(valuesUpdate)), id.ObjectType == ObjectID.Type.Corpse || id.ObjectType == ObjectID.Type.DynamicObject || id.ObjectType == ObjectID.Type.GameObject || id.ObjectType == ObjectID.Type.Player || id.ObjectType == ObjectID.Type.Unit ? ObjectUpdateType.CreateObject2 : ObjectUpdateType.CreateObject) { }