Example #1
0
 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);
    }