public JobAssignment(Job job, AbstractWorker worker, EventDirector eventDirector, Player player) { Job = job; Worker = worker; this.player = player; turnCount = new ReactiveX.ReactiveProperty <int>(0); TurnCount = new ReactiveX.ReadOnlyReactiveProperty <int>(turnCount); subscriptions.Add(eventDirector.onSimulateEnd.AsObservable().Subscribe(_ => { OnTurnEnd(); })); subscriptions.Add( worker.Location.Value.OnCollisionEnter2DAsObservable() .Subscribe(CheckTravelerCollision) ); }
public void Init(BanditWorkerSettings workerSettings, EventDirector eventDirector) { if (isInitialized) { return; } this.workerSettings = workerSettings; IsReclaimable = false; location = new ReactiveProperty <AbstractLocation>(); Location = location.ToReadOnlyReactiveProperty(); Stamina = new ReactiveX.ReactiveProperty <int>(workerSettings.stamina); this.eventDirector = eventDirector; isInitialized = true; }