//TODO: в другое место
    #region BlockInvisbleOnAttack

    void OnAttackEvent()
    {
        if (Invisible)
        {
            State = TypeVisible.Visible;
        }
        StartCoroutine(WaitBlockStateAfterAttack());
    }
 public void SetDefault()
 {
     StopAllCoroutines();
     BlockInvisible = false;
     State          = TypeVisible.Visible;
 }
 private void Start()
 {
     m_Unit.UnitControl.AttackEvent       += OnAttackEvent;
     m_Unit.LifeControl.DeathEvent        += (sender, args) => { State = TypeVisible.Visible; BlockInvisible = true; };;
     m_Unit.LifeControl.ResurrectionEvent += (sender, args) => { BlockInvisible = false; };;
 }