| | |
| | | import React, { useState, useRef, useEffect } from 'react'; |
| | | import { Col, Form, Modal, Row, Checkbox, Image, Tree, Drawer, Space, Button, Card, Divider } from 'antd'; |
| | | import { FormattedMessage, useIntl, useModel } from '@umijs/max'; |
| | | import * as PIXI from 'pixi.js'; |
| | | import { createStyles } from 'antd-style'; |
| | | import './index.css' |
| | | |
| | | const useStyles = createStyles(({ token, css }) => { |
| | | |
| | | }) |
| | | |
| | | const SpriteSettings = (props) => { |
| | | const { styles } = useStyles(); |
| | | |
| | | useEffect(() => { |
| | | |
| | | }, []); |
| | | |
| | | |
| | | return ( |
| | | <> |
| | | <Drawer |
| | | open={props.open} |
| | | onClose={() => { |
| | | props.onCancel(); |
| | | }} |
| | | getContainer={props.refCurr} |
| | | rootStyle={{ position: "absolute" }} |
| | | mask={false} |
| | | width={378} |
| | | extra={ |
| | | <Space> |
| | | <Button onClick={() => props.onCancel()}><FormattedMessage id='common.cancel' defaultMessage='取消' /></Button> |
| | | </Space> |
| | | } |
| | | > |
| | | <Card> |
| | | |
| | | </Card> |
| | | </Drawer> |
| | | </> |
| | | ) |
| | | } |
| | | |
| | | export default SpriteSettings; |
| | |
| | | } from '@ant-design/icons'; |
| | | import './index.css' |
| | | import { createStyles } from 'antd-style'; |
| | | import Edit from './components/device' |
| | | import Edit from './components/device'; |
| | | import Settings from './components/settings' |
| | | import * as Utils from './utils' |
| | | import Player from './player'; |
| | | |
| | |
| | | const contentRef = React.useRef(); |
| | | |
| | | const [deviceVisible, setDeviceVisible] = React.useState(false); |
| | | const [settingsVisible, setSettingsVisible] = React.useState(false); |
| | | const [windowSize, setWindowSize] = React.useState({ |
| | | width: window.innerWidth, |
| | | height: window.innerHeight, |
| | |
| | | |
| | | player.activateMapEvent(null); |
| | | mapContainer.children.forEach(child => { |
| | | Utils.beSettings(child, setDidClickSprite); |
| | | Utils.beSettings(child, setSettingsVisible, setDidClickSprite); |
| | | }) |
| | | } else { |
| | | player.hideStarryBackground(); |
| | |
| | | mapContainer.addChild(sprite); |
| | | Utils.beMovable(sprite, setDidClickSprite); |
| | | }; |
| | | |
| | | const settingsFinish = () => { |
| | | |
| | | } |
| | | |
| | | // didClickSprite, stop triggers both sprite click and play's selection boxs |
| | | React.useEffect(() => { |
| | |
| | | refCurr={mapRef.current} |
| | | onDrop={onDrop} |
| | | /> |
| | | |
| | | <Settings |
| | | open={settingsVisible} |
| | | onCancel={() => { |
| | | setSettingsVisible(false); |
| | | }} |
| | | refCurr={mapRef.current} |
| | | onDrop={settingsFinish} |
| | | /> |
| | | </> |
| | | ) |
| | | } |
| | |
| | | |
| | | |
| | | this.starryTicker = (delta) => { |
| | | console.log(1); |
| | | speed += (warpSpeed - speed) / 20; |
| | | cameraZ += delta * 10 * (speed + baseSpeed); |
| | | for (let i = 0; i < starAmount; i++) { |
| | |
| | | } |
| | | |
| | | // sprite be beSettings from sprite click event |
| | | export const beSettings = (sprite, setDidClickSprite) => { |
| | | export const beSettings = (sprite, setSettingsVisible, setDidClickSprite) => { |
| | | sprite.off('pointerup'); |
| | | sprite.off('pointermove'); |
| | | sprite.off('pointerdown'); |
| | |
| | | sprite.on("click", onClick); |
| | | |
| | | function onClick(event) { |
| | | console.log(1); |
| | | setSettingsVisible(true); |
| | | // setDidClickSprite(true); |
| | | } |
| | | } |