public static void CheckComplitionIdleLock(ModelNPC.PersonData dataNPC, GameActionPersonController controller)
    {
        if (controller == null)
        {
            //TEST
            RequestActionNPC(dataNPC, NameActionsPerson.Completed, controller);
            return;
        }

        float timeWait = (dataNPC as ModelNPC.GameDataAlien).TimeEndCurrentAction;

        //if (Time.time > controller.TimeIdleLock && p_nameAction == NameActionsPerson.Idle)
        if (Time.time > timeWait)
        {
            GetAlienData(dataNPC).TimeEndCurrentAction = -1;
            RequestActionNPC(dataNPC, NameActionsPerson.Completed, controller);
            //IdleLock
        }

        //FIXANIM
        if (controller != null)
        {
            controller.PlayAnimationIdle();
        }
    }
    //**************************   CHECK   *************************************

    public static void CheckComplitionIdle(ModelNPC.PersonData dataNPC, GameActionPersonController controller)
    {
        if (dataNPC == null)
        {
            string strErr = "########## CheckComplitionIdle dataNPC == null ";
            if (controller != null)
            {
                strErr += controller.gameObject.name;
            }
            Debug.Log(strErr);
            return;
        }

        float timeWait = (dataNPC as ModelNPC.GameDataAlien).TimeEndCurrentAction;

        if (Time.time > timeWait)
        {
            GetAlienData(dataNPC).TimeEndCurrentAction = -1;
            RequestActionNPC(dataNPC, NameActionsPerson.Completed, controller);
            //IdleLock
        }

        //FIXANIM
        if (controller != null)
        {
            controller.PlayAnimationIdle();
        }
    }