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