mirror of
https://github.com/smallmain/cocos-enhance-kit.git
synced 2025-01-14 06:51:08 +00:00
102 lines
3.3 KiB
JavaScript
102 lines
3.3 KiB
JavaScript
const utils = require('../../../common/utils');
|
|
|
|
if (window.__globalAdapter) {
|
|
let globalAdapter = window.__globalAdapter;
|
|
// SystemInfo
|
|
globalAdapter.isSubContext = false; // sub context not supported
|
|
globalAdapter.isDevTool = window.navigator && (/AlipayIDE/.test(window.navigator.userAgent));
|
|
utils.cloneMethod(globalAdapter, my, 'getSystemInfoSync');
|
|
|
|
// TouchEvent
|
|
// my.onTouchStart register touch event listner on body
|
|
// need to register on canvas
|
|
globalAdapter.onTouchStart = function (cb) {
|
|
window.canvas.addEventListener('touchstart', function (res) {
|
|
cb && cb(res);
|
|
});
|
|
};
|
|
globalAdapter.onTouchMove = function (cb) {
|
|
window.canvas.addEventListener('touchmove', function (res) {
|
|
cb && cb(res);
|
|
});
|
|
};
|
|
globalAdapter.onTouchEnd = function (cb) {
|
|
window.canvas.addEventListener('touchend', function (res) {
|
|
cb && cb(res);
|
|
});
|
|
};
|
|
globalAdapter.onTouchCancel = function (cb) {
|
|
window.canvas.addEventListener('touchcancel', function (res) {
|
|
cb && cb(res);
|
|
});
|
|
};
|
|
|
|
// Audio
|
|
globalAdapter.createInnerAudioContext = function() {
|
|
let audio = my.createInnerAudioContext();
|
|
audio.onCanplay = audio.onCanPlay.bind(audio);
|
|
return audio;
|
|
};
|
|
|
|
// FrameRate
|
|
utils.cloneMethod(globalAdapter, my, 'setPreferredFramesPerSecond');
|
|
|
|
// Keyboard
|
|
utils.cloneMethod(globalAdapter, my, 'showKeyboard');
|
|
utils.cloneMethod(globalAdapter, my, 'hideKeyboard');
|
|
utils.cloneMethod(globalAdapter, my, 'updateKeyboard');
|
|
utils.cloneMethod(globalAdapter, my, 'onKeyboardInput');
|
|
utils.cloneMethod(globalAdapter, my, 'onKeyboardConfirm');
|
|
utils.cloneMethod(globalAdapter, my, 'onKeyboardComplete');
|
|
utils.cloneMethod(globalAdapter, my, 'offKeyboardInput');
|
|
utils.cloneMethod(globalAdapter, my, 'offKeyboardConfirm');
|
|
utils.cloneMethod(globalAdapter, my, 'offKeyboardComplete');
|
|
|
|
// Message
|
|
utils.cloneMethod(globalAdapter, my, 'getOpenDataContext');
|
|
utils.cloneMethod(globalAdapter, my, 'onMessage');
|
|
|
|
// SharedCanvas
|
|
utils.cloneMethod(globalAdapter, my, 'getSharedCanvas');
|
|
|
|
// Font
|
|
utils.cloneMethod(globalAdapter, my, 'loadFont');
|
|
|
|
// hide show Event
|
|
utils.cloneMethod(globalAdapter, my, 'onShow');
|
|
utils.cloneMethod(globalAdapter, my, 'onHide');
|
|
|
|
// Accelerometer
|
|
let accelerometerCallback = null;
|
|
let systemInfo = my.getSystemInfoSync();
|
|
let windowWidth = systemInfo.windowWidth;
|
|
let windowHeight = systemInfo.windowHeight;
|
|
let isLandscape = windowWidth > windowHeight;
|
|
function accelerometerChangeCallback (res, cb) {
|
|
let resClone = {};
|
|
|
|
let x = res.x;
|
|
let y = res.y;
|
|
|
|
if (isLandscape) {
|
|
let tmp = x;
|
|
x = -y;
|
|
y = tmp;
|
|
}
|
|
|
|
resClone.x = x;
|
|
resClone.y = y;
|
|
resClone.z = res.z;
|
|
accelerometerCallback && accelerometerCallback(resClone);
|
|
}
|
|
Object.assign(globalAdapter, {
|
|
startAccelerometer (cb) {
|
|
accelerometerCallback = cb;
|
|
my.onAccelerometerChange && my.onAccelerometerChange(accelerometerChangeCallback);
|
|
},
|
|
|
|
stopAccelerometer () {
|
|
my.offAccelerometerChange && my.offAccelerometerChange(accelerometerChangeCallback);
|
|
},
|
|
});
|
|
} |