Exemplo n.º 1
0
        private void OnItemDestroyed(Static.Item staticItem)
        {
            var itemIndex = Targets.FindIndex(i => i.StaticItem.Id == staticItem.Id);

            if (itemIndex < 0)
            {
                return;
            }

            var item = Targets[itemIndex];

            if (item.Amount <= 0)
            {
                return;
            }

            item.Amount--;
            Targets[itemIndex] = item;

            OnTargetsChange?.Invoke(Targets);

            var allItemsDestroyed = Targets.All(i => i.Amount <= 0);

            if (!allItemsDestroyed)
            {
                return;
            }

            Clear();
            OnWin?.Invoke();
        }
Exemplo n.º 2
0
        public void AddFocusTarget(Target focusTarget)
        {
            if (FindMember(focusTarget.target) > 0)
            {
                RemoveFocusTarget(focusTarget.target);
            }


            AddMember(focusTarget.target, focusTarget.weight, focusTarget.radius);
            OnTargetsChange?.Invoke(this);
        }
Exemplo n.º 3
0
 public void AddFocusTargets(List <Target> focusTargets)
 {
     focusTargets?.ForEach(t =>
     {
         if (FindMember(t.target) > 0)
         {
             RemoveFocusTarget(t.target);
         }
         AddMember(t.target, t.weight, t.radius);
     });
     OnTargetsChange?.Invoke(this);
 }
Exemplo n.º 4
0
 public void RemoveAllFocusTargets()
 {
     m_Targets = new Target[0];
     OnTargetsChange?.Invoke(this);
 }
Exemplo n.º 5
0
 public void RemoveFocusTargets(List <Transform> focusTargets)
 {
     focusTargets?.ForEach(RemoveMember);
     OnTargetsChange?.Invoke(this);
 }
Exemplo n.º 6
0
 public void RemoveFocusTarget(Transform focusTargetTransform)
 {
     RemoveMember(focusTargetTransform);
     OnTargetsChange?.Invoke(this);
 }
Exemplo n.º 7
0
 public void RemoveFocusTarget(Target focusTarget)
 {
     RemoveMember(focusTarget.target);
     OnTargetsChange?.Invoke(this);
 }