function _buyDiscountTTM(uint256 _value, uint256 _mgrId, address _gameWalletAddr, address _buyer) 
        private  
    {
        require(_gameWalletAddr != address(0));
        if (_mgrId == 1) {
            require(nextDiscountTTMTokenId1 <= 50, "This Manager is sold out");
            if (block.timestamp <= endDiscountTime) {
                require(_value == 0.64 ether);
            } else {
                require(_value == 0.99 ether);
            }
            nextDiscountTTMTokenId1 += 1;
            ttmToken.safeGiveByContract(nextDiscountTTMTokenId1 - 1, _gameWalletAddr);
            emit ManagerSold(_buyer, _gameWalletAddr, 1, nextDiscountTTMTokenId1);
        } else if (_mgrId == 6) {
            require(nextDiscountTTMTokenId6 <= 390, "This Manager is sold out");
            if (block.timestamp <= endDiscountTime) {
                require(_value == 0.97 ether);
            } else {
                require(_value == 1.49 ether);
            }
            nextDiscountTTMTokenId6 += 1;
            ttmToken.safeGiveByContract(nextDiscountTTMTokenId6 - 1, _gameWalletAddr);
            emit ManagerSold(_buyer, _gameWalletAddr, 6, nextDiscountTTMTokenId6);
        } else {
            require(false);
        }
    }