void ICrudObserver <TData> .OnDelete(Changestep <TData> step) { if (crudMask.HasFlag(step.Operation)) { OnDelete(step); } }
protected override void OnDelete(Changestep <PersonData> step) { var personObject = persons[step.Data]; persons.Remove(step.Data); Destroy(personObject.gameObject); }
private void HandlePropertyChanged(object sender, CustomNotifyPropertyChangedEventArgs e) { if (sender is TData data) { var step = new Changestep <TData>(data, CrudOperation.Update, e.Diff); Updated?.Invoke(this, new DatabaseEventArgs <TData>(step)); } }
protected override void OnCreate(Changestep <PersonData> step) { var personObject = Instantiate(prefab, transform); personObject.name = step.Data.Name; personObject.transform.position = new Vector3(2.0F * persons.Count, 0.0F, 0.0F); personObject.Data = step.Data; personObject.Download(); persons.Add(step.Data, personObject); }
private void HandleRemoved(object sender, EventCollectionEventArgs <TData> e) { var data = e.Element; if (data is ICustomNotifyPropertyChanged x) { x.PropertyChanged -= HandlePropertyChanged; } var step = new Changestep <TData>(data, CrudOperation.Delete); Deleted?.Invoke(this, new DatabaseEventArgs <TData>(step)); }
void ICrudObserver <T> .OnDelete(Changestep <T> step) { Debug.LogFormat("DELETE {0}".Color(DeleteColor), step); }
void ICrudObserver <T> .OnUpdate(Changestep <T> step) { Debug.LogFormat("UPDATE {0}".Color(UpdateColor), step); }
void ICrudObserver <T> .OnCreate(Changestep <T> step) { Debug.LogFormat("CREATE {0}".Color(CreateColor), step); }
protected override void OnUpdate(Changestep <PersonData> step) { var personObject = persons[step.Data]; personObject.Download(); }
internal DatabaseEventArgs(Changestep <TData> changestep) { Changestep = changestep; }
protected abstract void OnDelete(Changestep <TData> step);
protected abstract void OnUpdate(Changestep <TData> step);