public bool ExecuteCommand(CharacterCommand type)
        {
            if (type == CharacterCommand.CC_None)
            {
                return(false);
            }
            Command cmd = TryGet(type);

            if (cmd == null)
            {
                return(false);
            }
            LastCommand    = CurrentCommand;
            CurrentCommand = cmd;
            if (LastCommand != null && LastCommand.ActiveStatus == true)
            {
                LastCommand.InActive(Machine, this, cmd);
            }
            CurrentCommand.Active(Machine, this, LastCommand);
            if (OnChangeCommandDelegate != null)
            {
                OnChangeCommandDelegate(CurrentCommand, LastCommand);
            }
            return(true);
        }