public virtual IEnumerator AutoUpdate()
    {
        yield return(null);

        while (entity.BeAlive())
        {
            mutexState1?.UpdateSensor();
            mutexState1?.EvalRule();
            if (mutexState1 != null)
            {
                mutexState1.ExecuteAction();
                //yield return mutexState1?.ExecuteActionAsync().AsIEnumerator();
                yield return(mutexState1?.ExecuteActionAsync());
            }
            else
            {
                yield return(null);
            }
        }
        entity.GetEntityVisual().Status = EntityAnimStatus.Death;
    }