public void RemoveDriveAction(DriveUpdater driveAction, UpdaterTypeEnum driveEnum = UpdaterTypeEnum.Update)
        {
            switch (driveEnum)
            {
            case UpdaterTypeEnum.Update:
                if (_updateDrive != null)
                {
                    _updateDrive -= driveAction;
                }
                break;

            case UpdaterTypeEnum.FixedUpdate:
                if (_fixedUpdateDrive != null)
                {
                    _fixedUpdateDrive -= _fixedUpdateDrive;
                }
                break;

            case UpdaterTypeEnum.Coroutine:
                if (_enumeratorDrive != null)
                {
                    _enumeratorDrive -= _enumeratorDrive;
                }
                break;
            }
        }
        public void AddDriveAction(DriveUpdater driveAction, UpdaterTypeEnum driveEnum = UpdaterTypeEnum.Update)
        {
            switch (driveEnum)
            {
            case UpdaterTypeEnum.Update:
                if (null == _updateDrive)
                {
                    _updateDrive = driveAction;
                }
                else
                {
                    _updateDrive += driveAction;
                }
                break;

            case UpdaterTypeEnum.FixedUpdate:
                if (null == _fixedUpdateDrive)
                {
                    _fixedUpdateDrive = driveAction;
                }
                else
                {
                    _fixedUpdateDrive += driveAction;
                }
                break;

            case UpdaterTypeEnum.Coroutine:
                if (null == _enumeratorDrive)
                {
                    _enumeratorDrive = driveAction;
                }
                else
                {
                    _enumeratorDrive += driveAction;
                }
                break;
            }
        }