Exemplo n.º 1
0
 private void OnDeadTarget(ICoreDisposable disposable)
 {
     if (disposable is ICoreMonoObject obj)
     {
         var targetable = obj.GameObject.GetComponent <ITargetable>();
         m_Targetables.Remove(targetable);
         OnTargetExitRange?.Invoke(targetable);
     }
 }
Exemplo n.º 2
0
        private void OnTriggerEnter(Collider other)
        {
            var targetable = other.GetComponent <ITargetable>();

            if (!m_Targetables.Contains(targetable) && targetable != null)
            {
                m_Targetables.Add(targetable);
                ICoreDisposable dispose = targetable.GameObject.GetComponent <ICoreDisposable>();
                if (dispose != null)
                {
                    dispose.OnDispose += OnDeadTarget;
                }
                OnTargetEnterRange?.Invoke(targetable);
            }
        }
Exemplo n.º 3
0
        private void OnDeadTarget(ICoreDisposable disposable)
        {
            IUnit unit = GetComponent <IUnit>();

            unit.Instantiate();
        }