/// <summary> /// Create a new instance of <see cref="ChangeTrackingEntry"/> /// </summary> public ChangeTrackingEntry(object key, IChangeTrackingEntryManager entryManager, ISnapshot snapshot, TrackedState initialState = TrackedState.Detached) { _entryManager = entryManager; Key = key; _snapshot = snapshot; _currentState = initialState; }
/// <inheritdoc /> public void Attach() { _entryManager.Add(this); if (_currentState == TrackedState.Detached) { _currentState = TrackedState.Unchanged; } }
public TrackedRect(int id, Rect rect, TrackedState state, int numDetectedFrames, int numFramesNotDetected) : base(rect.x, rect.y, rect.width, rect.height) { this.numDetectedFrames = numDetectedFrames; this.numFramesNotDetected = numFramesNotDetected; this.id = id; this.state = state; }
/// <inheritdoc /> public void MarkAsAdded() { if (_currentState == TrackedState.Detached) { Attach(); } _currentState = TrackedState.Added; _forceModified = false; }
/// <inheritdoc /> public void RevertChanges() { _snapshot.RevertChanges(); if (_currentState == TrackedState.Modified) { _currentState = TrackedState.Unchanged; } _forceModified = false; }
/// <inheritdoc /> public void MarkAsModified() { if (_currentState == TrackedState.Detached) { Attach(); } _currentState = TrackedState.Modified; _forceModified = true; }
void UpdateStatus(string targetName, TrackedState state) { if (targetName.Equals("Vuforia_MarsLander")) { ToggleStatusImage(ref this.landerTarget, state); } else if (targetName.Equals("Vuforia_Motorcycle")) { ToggleStatusImage(ref this.bikeTarget, state); } }
public TrackedObject(Rect rect) { lastPositions = new PositionsVector(); numDetectedFrames = 1; numFramesNotDetected = 0; state = TrackedState.NEW; lastPositions.Add(rect.clone()); _id = GetNextId(); id = _id; }
/// <inheritdoc /> public void MarkAsDeleted() { switch (_currentState) { case TrackedState.Detached: Attach(); break; case TrackedState.Added: Detach(); return; } _currentState = TrackedState.Deleted; _forceModified = false; }
void ToggleStatusImage(ref Target target, TrackedState state) { target.statusImage.sprite = target.statusSprites[(int)state]; target.state = state; }
/// <inheritdoc /> public void Reset() { _snapshot.AcceptChanges(); _currentState = TrackedState.Unchanged; _forceModified = false; }
/// <inheritdoc /> public void Detach() { _entryManager.Remove(this); _currentState = TrackedState.Detached; _forceModified = false; }