Files
jdt-fish-client/assets/FishSingle/script/game/scene/FishGameScene.ts
2024-10-05 04:22:34 +08:00

112 lines
2.9 KiB
TypeScript

import {
Component,
Game,
Node,
Prefab,
Sprite,
Tween,
Vec3,
_decorator,
director,
game,
instantiate,
} from 'cc'
import FishMover from '../../../fish/script/FishMover'
import FishWiki from '../../../fish/script/FishWiki'
import TextureMgr from '../../engine/uicomponent/TextureMgr'
import { Logger } from '../../engine/utils/Logger'
import RandomUtil from '../../engine/utils/RandomUtil'
import { FishPathConfig } from '../config/FishPathConfig'
import { FishPathInfo } from '../config/FishPathInfo'
import WsManager from '../manager/WsManager'
import GameMusicHelper from '../utils/GameMusicHelper'
import CommonTips from '../../engine/uicomponent/CommonTips'
const { ccclass, property } = _decorator
@ccclass('FishGameScene')
export default class FishGameScene extends Component {
@property(Sprite)
private bg: Sprite | null = null
@property({ type: [Prefab] })
private fishPrefabList: Array<Prefab> | null = []
private showNode: Node | null = null
onLoad() {
this.onLoadMe()
}
onDestroy() {
this.onDestroyMe()
}
onLoadMe() {
WsManager.instance.init()
GameMusicHelper.playBg()
WsManager.instance.on(400, this.showMsg, this)
// FishPathConfig.init()
// this.initBg()
// this.testPathPlay()
game.on(Game.EVENT_HIDE, this.onHide, this)
game.on(Game.EVENT_SHOW, this.onAppShow, this)
}
private initBg() {
const textureMgr: TextureMgr = this.bg.getComponent(TextureMgr)
this.bg.spriteFrame =
textureMgr.Spriteset[RandomUtil.nextInt(0, textureMgr.Spriteset.length - 1)]
}
private initShowNode() {
if (this.showNode) {
this.showNode.destroy()
this.showNode = null
}
const fishType: number = 29
if (fishType < 1 || fishType > 29) return
this.showNode = instantiate(this.fishPrefabList[fishType - 1])
this.showNode.getComponent(FishMover).speed = 2
this.showNode.getComponent(FishMover).node.setScale(new Vec3(2, 2, 1))
this.node.addChild(this.showNode)
}
private testPathPlay() {
this.initShowNode()
const pathInfo: FishPathInfo = FishPathConfig.getPathInfo(3)
Logger.log('testPathPlay=pathInfo=', pathInfo)
const params = pathInfo.path
const param0 = params[0]
Logger.log('testPathPlay=11=', param0)
this.showNode.setPosition(new Vec3(param0.x, param0.y, 0))
this.showNode.getComponent(FishMover).bezierPList = params
this.showNode.getComponent(FishMover).startMove()
}
private onClickWiki() {
FishWiki.show()
}
private showMsg(res: any) {
Logger.log('showMsg=res=', res)
CommonTips.showMsg(res.msg)
}
onDestroyMe() {
this.unscheduleAllCallbacks()
// this.node.stopAllActions();
Tween.stopAllByTarget(this.node)
}
onHide() {
director.pause()
}
onAppShow() {
director.resume()
}
}