Beispiel #1
0
 protected override void Execute(List <GameEntity> entities)
 {
     foreach (GameEntity entity in entities)
     {
         ActorStatusDefinition suspiciousnessRelatedStatus = null;
         if (entity.isAggressive)
         {
             suspiciousnessRelatedStatus = _gameConfig.ActorStatuses.Aware;
         }
         entity.view.Controller.SetStatus(ViewStatusClass.SuspiciousnessRelated, suspiciousnessRelatedStatus);
     }
 }
Beispiel #2
0
 public void SetStatus(ViewStatusClass viewStatusClass, ActorStatusDefinition statusDefinition)
 {
     try
     {
         if (statusDefinition == null)
         {
             EntityUiPresenter.RemoveStatus(viewStatusClass);
         }
         else
         {
             EntityUiPresenter.SetStatus(viewStatusClass, statusDefinition);
         }
     }
     catch (Exception e)
     {
         Debug.LogError(e.Message + ", stack trace: " + e.StackTrace);
     }
 }
Beispiel #3
0
        public void SetStatus(ViewStatusClass viewStatusClass, ActorStatusDefinition statusDefinition)
        {
            Image statusImage;

            if (_classesToStatusImages.ContainsKey(viewStatusClass))
            {
                statusImage = _classesToStatusImages[viewStatusClass];
            }
            else
            {
                statusImage = PoolingManager.Fetch(PoolingManager.StatusImage, _statusesGroup.transform.position,
                                                   Quaternion.identity, _statusesGroup.transform)
                              .GetComponent <Image>();
                _classesToStatusImages[viewStatusClass] = statusImage;
            }
            statusImage.sprite = statusDefinition.Icon;
            statusImage.transform.localPosition = Vector3.zero;
            statusImage.transform.localScale    = new Vector3(1, 1, 1);
            LayoutRebuilder.ForceRebuildLayoutImmediate(_statusesGroup.GetComponent <RectTransform>());            // prevents statuses from laying one on top of another
        }