| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- import { Color, Label, Sprite, SpriteFrame, _decorator, CCInteger } from "cc";
- import { ecs } from "../../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
- import { CCComp } from "../../../../../extensions/oops-plugin-framework/assets/module/common/CCComp";
- import { SingletonModuleComp } from "../../common/SingletonModuleComp";
- import FlashSprite from "../../../../../extensions/oops-plugin-framework/assets/libs/animator-effect/2d/FlashSprite";
- import { VehicleType } from "../../vehicle/model/VehicleEnum";
- const { ccclass, property } = _decorator;
- /** 等级显示Item界面 */
- @ccclass('CheckpointLevelItemViewComp')
- @ecs.register('CheckpointLevelItemView', false)
- export class CheckpointLevelItemViewComp extends CCComp {
- @property({ type: CCInteger, visible: true, tooltip: '当前关卡' })
- lv: number = 0
- private img_doubt
- private img_air
- private img_bus
- private img_car
- private img_lock
- private img_pass
- private img_line
- private label_level
- onAdded(args: any) {
- console.log(args);
- }
- onLoad() {
- this.img_air = this.node.getChildByPath("aircraft")
- this.img_bus = this.node.getChildByPath("Bus")
- this.img_car = this.node.getChildByPath("convertible")
- this.img_doubt = this.node.getChildByPath("doubt")
- this.img_lock = this.node.getChildByPath("Progressnotunlocked")
- this.img_pass = this.node.getChildByPath("Progressilluminated")
- this.img_line = this.node.getChildByPath("SpriteSplash")
- this.label_level = this.node.getChildByPath("level")
- }
- initView() {
- this.hideVechicle()
- this.img_pass.active = false
- this.img_doubt.active = false
- this.setTextLv()
- }
- setTextLv() {
- this.label_level.getComponent(Label).string = `${this.lv ? this.lv : ''}`
- }
- protected lateUpdate(dt: number): void {
- if (this.lv === 0) {
- this.initView()
- return
- }
- this.hideVechicle()
- this.setTextLv()
- const curLv = ecs.getSingleton(SingletonModuleComp).account.AccountModel.lv
- if (curLv >= this.lv) {
- this.img_pass.active = true
- this.img_lock.active = false
- this.changeProgressStatu(true)
- } else {
- this.img_pass.active = false
- this.img_lock.active = true
- this.changeProgressStatu(false)
- if (this.lv === curLv + 1) {
- const type = ecs.getSingleton(SingletonModuleComp).account.checkpoint.CheckpointModelLevel.rtluNext.vehicleType
- this.showVechicle(type)
- this.img_doubt.active = false
- } else {
- this.img_doubt.active = true
- }
- }
- }
- hideVechicle() {
- this.img_air.active = false
- this.img_car.active = false
- this.img_bus.active = false
- this.img_doubt.active = false
- }
- showVechicle(t: VehicleType) {
- this.hideVechicle()
- switch (t) {
- case VehicleType.CAR:
- this.img_car.active = true
- break;
- case VehicleType.BUS:
- this.img_bus.active = true
- break;
- case VehicleType.AIRPLANT:
- this.img_air.active = true
- break;
- default:
- this.img_doubt.active = false
- break;
- }
- }
- changeProgressStatu(v: boolean) {
- this.img_line.getComponent(Sprite).color = v ? new Color('#00B6F8') : new Color('#646464')
- }
- reset() {
- this.node.destroy();
- }
- }
|