UNPKG

@eva/react-eva

Version:

React EVA是一个让开发同学能够在React技术体系下,利用EVA JS的游戏研发能力,开发动画、游戏类场景的框架。它可以让开发同学用熟悉的JSX和Hooks语法编写动画、游戏场景的代码。

115 lines (93 loc) 3.08 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports["default"] = exports.EvaInstance = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var EvaInstance = /*#__PURE__*/function () { function EvaInstance() { this.rootElement = null; this.canvasElement = null; this.backgroundElement = null; this.hudElement = null; this.gameInstance = null; this.systems = []; this.listeningProps = []; } var _proto = EvaInstance.prototype; _proto.fromDOMRect = function fromDOMRect(rect) { if (this.currentScene) { var _this$currentScene$tr = this.currentScene.transform.scale, x = _this$currentScene$tr.x, y = _this$currentScene$tr.y; var newRect = {}; for (var _i = 0, _arr = ['x', 'width', 'left', 'right']; _i < _arr.length; _i++) { var key = _arr[_i]; if (rect[key] !== undefined) { newRect[key] = rect[key] / x; } } for (var _i2 = 0, _arr2 = ['y', 'height', 'top', 'bottom']; _i2 < _arr2.length; _i2++) { var _key = _arr2[_i2]; if (rect[_key] !== undefined) { newRect[_key] = rect[_key] / y; } } return Object.freeze(newRect); } else { return Object.freeze((0, _extends2["default"])({}, rect)); } }; _proto.toDOMRect = function toDOMRect(rect) { if (this.currentScene) { var _this$currentScene$tr2 = this.currentScene.transform.scale, x = _this$currentScene$tr2.x, y = _this$currentScene$tr2.y; var newRect = {}; for (var _i3 = 0, _arr3 = ['x', 'width', 'left', 'right']; _i3 < _arr3.length; _i3++) { var key = _arr3[_i3]; if (rect[key] !== undefined) { newRect[key] = rect[key] * x; } } for (var _i4 = 0, _arr4 = ['y', 'height', 'top', 'bottom']; _i4 < _arr4.length; _i4++) { var _key2 = _arr4[_i4]; if (rect[_key2] !== undefined) { newRect[_key2] = rect[_key2] * y; } } return Object.freeze(newRect); } else { return Object.freeze((0, _extends2["default"])({}, rect)); } }; (0, _createClass2["default"])(EvaInstance, [{ key: "scene", get: function get() { return [].concat(this.gameInstance.scene.transform.children).map(function (child) { return child.gameObject; }); } }, { key: "currentScene", get: function get() { return this.scene[0]; } }, { key: "currentSceneSize", get: function get() { if (this.currentScene) { return Object.freeze((0, _extends2["default"])({}, this.currentScene.transform.size)); } else { return { width: 0, height: 0 }; } } }]); return EvaInstance; }(); exports.EvaInstance = EvaInstance; var _default = new EvaInstance(); exports["default"] = _default;