kunpolibrary/src/cocos/CocosAdapter.ts

52 lines
1.4 KiB
TypeScript
Raw Normal View History

2025-02-20 11:27:28 +08:00
/**
* @Author: Gongxh
* @Date: 2024-12-08
* @Description:
*/
import { screen as ccScreen, view } from "cc";
import { Adapter } from "../global/Adapter";
import { size } from "../global/header";
import { info } from "../tool/log";
export class CocosAdapter extends Adapter {
/**
*
* @returns {size}
*/
protected getScreenSize(): size {
let windowSize = ccScreen.windowSize;
let width = Math.ceil(windowSize.width / view.getScaleX());
let height = Math.ceil(windowSize.height / view.getScaleY());
return { width, height };
}
/**
*
* @returns {size}
*/
protected getDesignSize(): size {
let designSize = view.getDesignResolutionSize();
return { width: designSize.width, height: designSize.height };
}
/**
*
* @param callback
*/
protected registerResizeCallback(callback: (...args: any) => void): void {
ccScreen.on("window-resize", (...args: any) => {
info("window-resize");
callback(...args);
}, this);
ccScreen.on("orientation-change", (...args: any) => {
info("orientation-change");
callback(...args);
}, this);
ccScreen.on("fullscreen-change", (...args: any) => {
info("fullscreen-change");
callback(...args);
}, this);
}
}