예제 #1
0
        private void AssignHealthData(IHealthData data)
        {
            if (data == null)
            {
                return;
            }

            entityHealthText.text      = data.HealthPoints + " / " + data.MaxHealthPoints;
            entityHealthBar.fillAmount = data.HealthPoints / (float)data.MaxHealthPoints;
        }
예제 #2
0
        private async Task <List <T> > GetSummaries <T>(IHealthData <T> data)
        {
            List <T> ret = new List <T>();

            ret.AddRange(data.Summaries);
            while (!String.IsNullOrWhiteSpace(data.NextPage))
            {
                var parsed = await PerformPagedRequest(data.NextPage);

                data = JsonConvert.DeserializeObject <IHealthData <T> >(parsed, new[] { new IHealthDataConverter() });
                ret.AddRange(data.Summaries);
            }
            return(ret);
        }
        public HealthDataComponent(IHealthData healthData)
        {
            _healthData = healthData;
            _health     = new ReactiveProperty <int>(MaxHealth).AddTo(Disposer);

            RelativeHealth = _health
                             .Select(health => (double)health / (double)MaxHealth)
                             .ToReadOnlyReactiveProperty()
                             .AddTo(Disposer);

            IsAlive = _health
                      .Select(health => health > 0)
                      .ToReadOnlyReactiveProperty()
                      .AddTo(Disposer);
        }
예제 #4
0
 public void Provide(IHealthData healthData)
 {
     HealthDataProvider.Provide(healthData);
 }
 public void Awake()
 {
     _healthData = GetComponent <IHealthData>();
 }
예제 #6
0
 public HealthBehaviour(IHealthData data, IHealthSystemController controller, IInput <DamagersCollided> input) :
     base(input, controller)
 {
     currentHP       = data.MaxHealthPoints;
     this.controller = controller;
 }