Files
jdt-fish-client/assets/FishSingle/fish/script/FishUI.ts
2024-05-01 19:13:01 +08:00

110 lines
2.8 KiB
TypeScript

import { Animation, Component, Label, Node, Tween, Vec2, Vec3, _decorator, find, tween } from 'cc'
import CannonManager from '../../script/game/manager/CannonManager'
import FishManager from '../../script/game/manager/FishManager'
import FishSetting from './FishSetting'
import WsManager from '../../script/game/manager/WsManager'
const { ccclass, property } = _decorator
@ccclass('FishUI')
export default class FishUI extends Component {
public static instance: FishUI = null
@property({ type: Label })
private dzScore: Label | null = null
@property({ type: Label })
private jfScore: Label | null = null
@property({ type: Animation })
private clickEffect: Animation | null = null
@property({ type: Node })
private waveEffect: Node | null = null
// 豆子
public dz_score: number = 0
// 积分
public jf_score: number = 0
private _vec3Cache: Vec3
onLoad() {
FishUI.instance = this
this._vec3Cache = new Vec3()
this.clickEffect.node.active = false
this.waveEffect.active = false
this.dzScore = this.node
.getChildByName('userInfo')
.getChildByName('info')
.getChildByName('dz_fillet')
.getChildByName('dz_text')
.getComponent(Label) as Label
this.jfScore = this.node
.getChildByName('userInfo')
.getChildByName('info')
.getChildByName('jf_fillet')
.getChildByName('jf_text')
.getComponent(Label) as Label
}
start() {
// this.refreshScore()
}
public playClickEffect(p: Vec2) {
this._vec3Cache.x = p.x
this._vec3Cache.y = p.y
this._vec3Cache.z = 0
this.clickEffect.node.setPosition(this._vec3Cache)
this.clickEffect.node.active = true
this.clickEffect.play()
}
public playWaveEffect() {
this.waveEffect.active = true
this.waveEffect.setPosition(1292.703, 0)
FishManager.instance.playFishMap()
tween(this.waveEffect)
.to(2, { position: new Vec3(-1319.969, 0, 0) })
.call(() => {
this.waveEffect.active = false
FishManager.instance.startFishMap()
})
.start()
}
private onClickPre() {
if (CannonManager.instance.cannonType > 1) {
CannonManager.instance.cannonType--
CannonManager.instance.refreshCannon()
}
}
private onClickNext() {
if (CannonManager.instance.cannonType < 7) {
CannonManager.instance.cannonType++
CannonManager.instance.refreshCannon()
}
}
public refreshScore(res: any) {
this.dz_score = res.pulse
this.jf_score = res.integral
this.dzScore.string = `${this.dz_score}`
this.jfScore.string = `${this.jf_score}`
}
private onClickSetting() {
FishSetting.show()
}
onDestroy() {
FishUI.instance = null
this.unscheduleAllCallbacks()
Tween.stopAllByTarget(this.node)
// this.node.stopAllActions();
}
}