public ArcherModel(ArcherContainer container) { attackRange = new ReactiveProperty <float>(container.attackRange); damage = new ReactiveProperty <int>(container.damage); attackRate = new ReactiveProperty <float>(container.attackRate); canAttack = new ReactiveProperty <bool>(true); level = new ReactiveProperty <int>(container.level); }
public void CreateArcher(ArcherContainer container) { model = new ArcherModel(container); state = State.Idle; trigger = GetComponent <ObservableTrigger2DTrigger>(); trigger .OnTriggerEnter2DAsObservable() .Subscribe(x => TriggerEnter2D(x)) .AddTo(disposables); trigger .OnTriggerExit2DAsObservable() .Subscribe(_ => TriggerExit2D(_)) .AddTo(disposables); Observable.EveryUpdate() .Subscribe(_ => StatesUpdate()) .AddTo(disposables); }