12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- import { Widget, _decorator, Node, Label, Vec3, tween, isValid, math } from 'cc';
- import { UIBase } from '../scriptBase/UIBase';
- import { UI } from '../enum/UI';
- import { GameMgr } from '../manager/GameMgr';
- import { CoinItem } from '../uiItem/CoinItem';
- import { CoinMgr } from '../manager/CoinMgr';
- import { EventType } from '../enum/EventType';
- import { EventMgr } from '../manager/EventMgr';
- import { AudioMgr } from '../manager/AudioMgr';
- const { ccclass, property, requireComponent } = _decorator;
- @ccclass('UI/UIGame')
- @requireComponent(Widget)
- export class UIGame extends UIBase {
- private lbLevel: Label = null
- private coinItem: CoinItem = null
- protected onLoad(): void {
- this.lbLevel = this.findComp('SettingItem/LbLevel', Label)
- this.coinItem = this.findComp('CoinItem', CoinItem)
- }
- protected onEnable(): void {
- EventMgr.on(EventType.MergeGoods, this.onMergeGoods, this)
- }
- protected onDisable(): void {
- EventMgr.off(EventType.MergeGoods, this.onMergeGoods, this)
- }
- public onOpen(data?: any): void {
- this.lbLevel.string = `Level:${GameMgr.CurLevel + 1}`
- this.coinItem.init(CoinMgr.CurCoin)
- AudioMgr.playBgm(`游戏内音乐${math.randomRangeInt(0, 3)}`)
- }
- public onClose(data?: any): void {
- }
- protected onBtnSettingClick(): void {
- this.open(UI.Pause)
- }
- private onMergeGoods(worldPos: Vec3): void {
- this.coinItem.updateCoin(CoinMgr.CurCoin, false)
- const flyCoin: Node = this.coinItem.createFlyCoin()
- flyCoin.setWorldPosition(worldPos)
- const tw = tween(flyCoin)
- tw.to(0.5, { worldPosition: this.coinItem.node.worldPosition }, { easing: 'sineOut' })
- tw.call(() => {
- if (isValid(flyCoin)) {
- flyCoin.destroy()
- }
- })
- tw.start()
- }
- }
|