public SteeringBuilder AddBehavior(ISteeringBehavior behavior, Predicate <ConditionArgs> condition = null) { var cmp = _entity.AddComponent(behavior as SteeringComponentBase); if (_isAnyBehaviorAdded) { cmp.IsAdditive = true; } if (condition != null) { cmp.Condition = condition; } _isAnyBehaviorAdded = true; return(this); }
public SteeringBuilder(Vector2 position, ISteeringTarget target = null) { _entity = new SteeringEntity { Name = "steering-" + _currId, Position = position, Tag = 123 }; var smc = _entity.AddComponent(new SteeringManagerComponent(target)); _entity.ResetEvent += (sender, args) => smc.UpdateComponents(); _currId++; }