Commit 6708c7ef authored by wildfirecode's avatar wildfirecode

1

parent d93e04e6
......@@ -4,6 +4,7 @@ export default class Alert extends Panel {
const { message, btnTxt } = data;
this.data.message = message;
this.data.btnTxt = btnTxt || '确定';
this['subType'] = data.subType
}
get skinKey() { return 'Alert' }
......
......@@ -12,9 +12,7 @@ export default class StartSceneBase extends Scene {
optionBtn: eui.Button;
recordBtn: eui.Button;
rankBtn: eui.Button;
treasureBtn: eui.Button;
elements: eui.Group;
exemptionTxt: eui.Label;
async start(data?) {
......@@ -65,8 +63,7 @@ export default class StartSceneBase extends Scene {
this.recordBtn.addEventListener(egret.TouchEvent.TOUCH_TAP, this.onTap_recordBtn, this);
if (this.rankBtn)
this.rankBtn.addEventListener(egret.TouchEvent.TOUCH_TAP, this.onTap_rankBtn, this);
if (this.treasureBtn)
this.treasureBtn.addEventListener(egret.TouchEvent.TOUCH_TAP, this.onTap_treasureBtn, this);
}
onTap_treasureBtn(e: egret.Event) {
......
import { ModuleTypes } from "../types/sceneTypes";
import Panel from "../components/Panel";
import Loading from "../components/Loading";
export default class PanelCtrl {
export default class PanelCtrl extends egret.EventDispatcher {
private _parent: egret.Sprite;
private _mask: egret.Sprite;
static _instance: PanelCtrl;
......@@ -73,12 +73,14 @@ export default class PanelCtrl {
if (!useTween) {
this._parent.removeChild(panel);
this.removeMask(useTween);
this.dispatchEvent(new egret.Event('onPanelRemoved'))
} else {
const tw = egret.Tween.get(panel);
tw.to({ y: panel.stage.stageHeight }, 300, egret.Ease.quartIn)
.call(() => {
this._parent.removeChild(panel);
this.removeMask(useTween);
this.dispatchEvent(new egret.Event('onPanelRemoved'))
}, this);
}
this._current=null;
......@@ -102,6 +104,7 @@ export default class PanelCtrl {
closeCurrent() {
if (this._current) {
this._current.removeEventListener('onDestroy', this.onPanelHide, this);
this._current.destroy();
this.remove(this._current, false);
}
}
......
import { ModuleTypes } from "../types/sceneTypes";
import PanelCtrl from "./panelCtrl";
export default (message: string, btnTxt?: string) =>
PanelCtrl.instance.show(ModuleTypes.ALERT_PANEL, { message: message, btnTxt: btnTxt });
\ No newline at end of file
export default (message: string, btnTxt?: string, subType?) =>
PanelCtrl.instance.show(ModuleTypes.ALERT_PANEL, { message: message, btnTxt: btnTxt ,subType:subType});
\ No newline at end of file
import wait from "../libs/new_tc/wait";
import submitAfterDostart from "../libs/new_tw/ctrls/submitAfterDostart";
import getCountTxt from "../libs/new_tw/datas/getCountTxt";
import Loading from "../libs/new_wx/components/Loading";
import Panel from "../libs/new_wx/components/Panel";
import { DataManager } from "../libs/tw/manager/DataManager";
import { NetManager } from "../libs/tw/manager/NetManager";
import submitAfterDostart from "../libs/new_tw/ctrls/submitAfterDostart";
import PanelCtrl from "../libs/new_wx/ctrls/panelCtrl";
import { ModuleTypes } from "../libs/new_wx/types/sceneTypes";
import getCountTxt from "../libs/new_tw/datas/getCountTxt";
import { DataManager } from "../libs/tw/manager/DataManager";
import { NetManager } from "../libs/tw/manager/NetManager";
import { Data } from "../libs/tw/data/Data";
import showAlertPanel from "../libs/new_wx/ctrls/showAlertPanel";
export default class TreasurePanel extends Panel {
start(data) {
......@@ -21,7 +24,7 @@ export default class TreasurePanel extends Panel {
this.tweenGroup.addEventListener('complete', this.onTweenGroupComplete, this);
this.tweenGroup.play(0);
this.bg2.once(egret.TouchEvent.TOUCH_TAP, this.onOpenTreasure, this);
this.updateGetInfoView();
this.updateCountTxt();
}
updateCountTxt() {
......@@ -30,15 +33,20 @@ export default class TreasurePanel extends Panel {
}
}
private updateGetInfoView() {
if (DataManager.ins.getInfoData) {
this.updateCountTxt();
} else {
DataManager.ins.once('dataUpdate', this.updateGetInfoView, this);
check() {
if (DataManager.ins.getInfoData.status.code == 2) {
showAlertPanel('对不起,您的积分不足。', null, 'lackOfMoney')
return false;
}
if (DataManager.ins.getInfoData.status.code == 3) {
showAlertPanel('对不起,参与次数已用完。', null, 'lackOfChance')
return false;
}
return true;
}
onOpenTreasure() {
if (!this.check()) return;
this.tweenGroup.removeEventListener('complete', this.onTweenGroupComplete, this);
this.tweenGroup.stop();
this.closeBtns.forEach(btn => btn.touchEnabled = false);
......@@ -47,6 +55,7 @@ export default class TreasurePanel extends Panel {
submitAfterDostart(() => {
PanelCtrl.instance.show(ModuleTypes.PRIZE_PANEL);
Loading.instace.hide();
wait(300).then(() => NetManager.ins.getInfo());
}, 10);
}
......
......@@ -10,6 +10,7 @@ import random from "./random";
import { startStandbyBubblesLeft, startStandbyBubblesRight, stopStandbyBubblesLeft, stopStandbyBubblesRight } from "./standbyBubbles";
import { GDispatcher } from "../../libs/tc/util/GDispatcher";
import { ABNetManager } from "../../libs/tc/manager/ABNetManager";
import PanelCtrl from "../../libs/new_wx/ctrls/panelCtrl";
export default class StartScene extends StartSceneBase {
_engine: Matter.Engine;
......@@ -22,6 +23,10 @@ export default class StartScene extends StartSceneBase {
MAX_SCORE = 20;
private scoreTxt: eui.Label;
onPanelRemoved(){
}
onNetError() {
}
......@@ -42,12 +47,6 @@ export default class StartScene extends StartSceneBase {
this.updateProgress();
this.updateScoreTxt();
}
// onBoom(): any {
// this.score--;
// if (this.score < 0) this.score = 0;
// this.updateProgress();
// this.updateScoreTxt();
// }
addScore(): any {
this.score++;
......@@ -67,6 +66,7 @@ export default class StartScene extends StartSceneBase {
async start(data?) {
super.start();
GDispatcher.addEvent(ABNetManager.NET_ERROR, this.onNetError, this);
PanelCtrl.instance.addEventListener('onPanelRemoved',this.onPanelRemoved,this)
egret.lifecycle.onPause = () => {
console.log("app 进入后台");
egret.ticker.pause(); // 关闭渲染与心跳
......@@ -209,18 +209,7 @@ export default class StartScene extends StartSceneBase {
startStandbyBubblesLeft(this._egretRender);
startStandbyBubblesRight(this._egretRender);
const color = 0x33CCFF; /// 光晕的颜色,十六进制,不包含透明度
const alpha = 0.4; /// 光晕的颜色透明度,是对 color 参数的透明度设定。有效值为 0.0 到 1.0。例如,0.8 设置透明度值为 80%。
const blurX = 35; /// 水平模糊量。有效值为 0 到 255.0(浮点)
const blurY = 35; /// 垂直模糊量。有效值为 0 到 255.0(浮点)
const strength = 2; /// 压印的强度,值越大,压印的颜色越深,而且发光与背景之间的对比度也越强。有效值为 0 到 255。暂未实现
const quality = egret.BitmapFilterQuality.HIGH; /// 应用滤镜的次数,建议用 BitmapFilterQuality 类的常量来体现
const inner = false; /// 指定发光是否为内侧发光,暂未实现
const knockout = false; /// 指定对象是否具有挖空效果,暂未实现
const glowFilter: egret.GlowFilter = new egret.GlowFilter(color, alpha, blurX, blurY,
strength, quality, inner, knockout);
this['scoreTxt'].filters = [glowFilter];
// initScoreTxt(this);
this.updateScoreTxt();
this.updateProgress();
}
......@@ -245,10 +234,14 @@ export default class StartScene extends StartSceneBase {
return false;
}
progressfront: egret.DisplayObject;
destroy() {
super.destroy();
initEvents() {
super.initEvents();
if (this.treasureBtn)
this.treasureBtn.addEventListener(egret.TouchEvent.TOUCH_TAP, this.onTap_treasureBtn, this);
}
treasureBtn: eui.Button;
progressfront: egret.DisplayObject;
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment