private void UpdateBehavior(DependencyObject host, IBehavior behavior, DependencyPropertyChangedEventArgs propertyChangedEventArgs) { if (behavior.IsApplicable()) { behavior.Update(propertyChangedEventArgs); } else { host.ClearValue(_property); behavior.Detach(); } }
private void UpdateBehavior(DependencyObject host, IBehavior behavior) { if(behavior.IsApplicable()) { behavior.Update(); } else { host.ClearValue(_property); behavior.Detach(); } }
private void UpdateBehavior(DependencyObject host, IBehavior behavior) { if (behavior.IsApplicable()) { behavior.Update(); } else { host.ClearValue(_property); behavior.Detach(); } }
public void Update(ref Bullet bullet) { if (_paramQueue.Count > 0) { if (_frameCounter == _paramQueue.Peek().ModOnFrame) { var p = _paramQueue.Dequeue(); bullet.SetParameters(p); _frameCounter = 0; _behavior = p.NewBehavior; if (_paramQueue.Count == 0) { bullet.Behavior = _behavior; SetInactive(this); _behavior.Update(ref bullet); return; } } } ++_frameCounter; _behavior.Update(ref bullet); }