Commit 7f560292 authored by wjf's avatar wjf

l

parent 26f7fb99
......@@ -6,21 +6,34 @@ import { DataManager } from "../libs/tw/manager/DataManager";
*/
export default (callback?) => {
NetManager.ins.hc_redBombAward((success) => {
callback(success);
if (success) {
const data = DataManager.ins.getData('hc_redBombAward').data;
if (data && data.option && data.option.categoryType != 1) {
callback(1);
}
else {
callback(0);
}
} else {
callback(0);
if (data) changeTimesData(data.remainAwardTimes || 0);
// if (data && data.option && data.option.categoryType != 1) {
// callback(1);
// }
// else {
// callback(0);
// }
}
NetManager.ins.hc_redBombBaseInfo(()=>{});
// else {
// callback(0);
// }
// NetManager.ins.hc_redBombBaseInfo(() => { });
});
}
export const getRedBombTimes = ()=>{
return DataManager.ins.getData('hc_redBombBaseInfo');
//如果接口没成功就返回0
export const getRedBombTimes = () => {
if (DataManager.ins.getData('hc_redBombBaseInfo') &&
DataManager.ins.getData('hc_redBombBaseInfo').data) {
return DataManager.ins.getData('hc_redBombBaseInfo').data;
}
return 0;
}
function changeTimesData(timess: number) {
DataManager.ins.getData('hc_redBombBaseInfo').data = timess;
}
\ No newline at end of file
This diff is collapsed.
......@@ -369,6 +369,24 @@ export class Tool {
return false;
}
/**
* 可放置节日元素
* 必须是基础元素,且不带毛球状态
* 毛球可能成为通关目标,不放
*
* @param lat
*/
public static judgeSetFesEle(lat: Lattice) {
if (Tool.judgeBaseEle(lat) && //基础元素
!lat.element.hasState(StateType.HAIRBALLGREY) && //不带毛球,下同
!lat.element.hasState(StateType.HAIRBALLBLACK) &&
!lat.element.hasState(StateType.HAIRBALLBROWN)
) {
return true;
}
return false;
}
/**
* 判断元素是否可被手势选中和交换
......
import { Pool } from "../Pool";
import { RecoverName } from "../enum/RecoverName";
export class FesRedBombShowAni extends egret.DisplayObjectContainer {
constructor() {
super()
var textureDown: egret.Texture = RES.getRes("fesRedBombSta1_png")
var down = new egret.Bitmap(textureDown);
down.x = -textureDown.textureWidth / 2;
down.y = -textureDown.textureHeight / 2;
this.addChild(down);
var textureUp: egret.Texture = RES.getRes("xingxingbi_png");
var up = new egret.Bitmap(textureUp);
up.x = -textureUp.textureWidth / 2; //-89
up.y = -100;
this.addChild(up);
}
play(position: number[], callback: Function) {
this.scaleX = this.scaleY = 0.29;
this.x = position[0];
this.y = position[1];
egret.Tween.get(this)
.wait(200)
.to({ scaleX: 1, scaleY: 1 }, 500, egret.Ease.backOut)
.wait(500)
.to({ scaleX: 0.29, scaleY: 0.29 }, 500, egret.Ease.backInOut)
.call(() => {
if (this.parent) this.parent.removeChild(this);
Pool.recover(RecoverName.FESREDBOMBSHOW_ANI, this);
callback()
})
//波纹动效再说,现在来不及
}
}
\ No newline at end of file
......@@ -10,8 +10,7 @@ const images = {
* 节日元素
*
*/
export class FestivalEle extends eui.Component {
private showImage: eui.Image;
export class FestivalEle extends egret.DisplayObjectContainer {
/**
* 是否要分裂了
*/
......@@ -25,52 +24,224 @@ export class FestivalEle extends eui.Component {
}
set statusNum(value: number) {
if (value >= 0) {
//播放原来的动画
let child = this.$children[this._statusNum];
child["play"](() => {
//切换
this.toggleStatus(value);
})
this._statusNum = value;
//播放动画,然后循环动画
// if (this.showImage.source != images[this._statusNum]) {
// this.changeSource(images[this._statusNum]);
// }
} else {
//不用动画
this._statusNum = 0;
this.isActive = true;
}
}
constructor(n: number = 2) {
super()
this.showImage = new eui.Image();
this.addChild(this.showImage)
this.changeSource(images[n]);
super();
var status3 = new Status3();
this.addChild(status3);
var status2 = new Status2();
this.addChild(status2);
var status1 = new Status1();
this.addChild(status1);
this.toggleStatus(n);
this.isActive = false;
this._statusNum = n;
}
changeSource(source: string) {
var texture: egret.Texture = RES.getRes(source);
this.showImage.texture = texture
this.showImage.anchorOffsetX = texture.textureWidth / 2;
this.showImage.anchorOffsetY = texture.textureHeight / 2 + 20;
this.showImage.y = 20
}
shakeAni() {
this.showImage.rotation = 0;
egret.Tween.get(this.showImage)
.to({ rotation: 10 }, 80)
.to({ rotation: -8 }, 160)
.to({ rotation: 5 }, 160)
.to({ rotation: 0 }, 50)
}
reset(n: number = 2) {
this.changeSource(images[n]);
this.toggleStatus(n);
this.isActive = false;
this._statusNum = n;
}
toggleStatus(index: number) {
for (var i = 0; i < this.$children.length; i++) {
var child = this.$children[i];
if (i == index) {
child.visible = true;
//重置状态
child["reset"]();
} else {
child.visible = false;
}
}
}
}
//第一种状态
class Status1 extends egret.DisplayObjectContainer {
upImage: egret.Bitmap;
constructor() {
super();
var textureDown: egret.Texture = RES.getRes("fesRedBombSta1_png")
var down = new egret.Bitmap(textureDown);
down.x = -textureDown.textureWidth / 2;
down.y = -textureDown.textureHeight / 2;
this.addChild(down);
var textureUp: egret.Texture = RES.getRes("xingxingbi_png");
var up = new egret.Bitmap(textureUp);
up.anchorOffsetX = textureUp.textureWidth / 2;
up.anchorOffsetY = textureUp.textureHeight / 2;
up.y = textureUp.textureHeight / 2 - 100;
this.addChild(up);
this.upImage = up;
this.scaleX = this.scaleY = 0.29;
}
reset() {
this.upImage.scaleX = this.upImage.scaleY = 1;
}
play(callback: Function) {
egret.Tween.get(this.upImage)
.to({ scaleX: 1.8, scaleY: 1.8 }, 240)
.call(() => {
callback();
})
}
}
const status2Cfg = [
{
"name": "fesRedCap",
"x": -7,
"y": -6,
"width": 251,
"height": 104
},
{
"name": "fesRedSmallLight",
"x": -7,
"y": -14,
"width": 249,
"height": 159
},
{
"name": "fesRedUp",
"x": -2,
"y": 52,
"width": 237,
"height": 185
},
{
"name": "fesRedDown",
"x": -2,
"y": 0,
"width": 237,
"height": 237
}
]
//第二种状态
class Status2 extends egret.DisplayObjectContainer {
light: egret.Bitmap;
fesRedCap: egret.Bitmap
constructor() {
super();
this.scaleX = this.scaleY = 0.29
for (var i = status2Cfg.length - 1; i >= 0; i--) {
var bitmap = new egret.Bitmap(RES.getRes(status2Cfg[i].name + "_png"));
bitmap.x = status2Cfg[i].x - 237 / 2;
bitmap.y = status2Cfg[i].y - 237 / 2;
this.addChild(bitmap);
if (status2Cfg[i].name == "fesRedSmallLight") {
this.light = bitmap
} else if (status2Cfg[i].name == "fesRedCap") {
this.fesRedCap = bitmap;
}
}
}
reset() {
this.fesRedCap.scaleY = 1;
this.light.alpha = 1;
egret.Tween.get(this.light, { loop: true })
.to({ alpha: 0 }, 450)
.to({ alpha: 1 }, 450)
}
play(callback: Function) {
this.light.alpha = 0;
egret.Tween.removeTweens(this.light);
this.fesRedCap.scaleY = 1;
egret.Tween.get(this.fesRedCap)
.to({ scaleY: 0.1 }, 180)
.call(() => {
callback();
})
}
}
const status3Cfg = [
{
"name": "fesRedUp",
"x": 0,
"y": 817 - 765,
"width": 237,
"height": 185
},
{
"name": "tinyRedMid",
"x": 770 - 684,
"y": 825 - 765,
"width": 74,
"height": 90
},
{
"name": "tinyRedLeft",
"x": 706 - 684,
"y": 770 - 765,
"width": 116,
"height": 132
},
{
"name": "tinyRedRight",
"x": 807 - 684,
"y": 779 - 765,
"width": 89,
"height": 106
},
{
"name": "fesRedDown",
"x": 0,
"y": 0,
"width": 237,
"height": 237
}
]
class Status3 extends egret.DisplayObjectContainer {
midRed: egret.Bitmap;
leftRed: egret.Bitmap;
rightRed: egret.Bitmap;
constructor() {
super();
this.scaleX = this.scaleY = 0.29
for (var i = status3Cfg.length - 1; i >= 0; i--) {
var config = status3Cfg[i];
var bitmap = new egret.Bitmap(RES.getRes(config.name + "_png"));
bitmap.x = config.x - 237 / 2;
bitmap.y = config.y - 237 / 2;
this.addChild(bitmap);
if (config.name == "tinyRedMid") {
this.midRed = bitmap;
} else if (config.name == "tinyRedLeft") {
this.leftRed = bitmap;
} else if (config.name == "tinyRedRight") {
this.rightRed = bitmap;
}
}
}
reset() {
// class
\ No newline at end of file
}
play(callback: Function) {
}
}
\ No newline at end of file
......@@ -22,6 +22,7 @@ export enum RecoverName {
BUBBLE_ANI = "BubbleAni",
HAIRBALLBROWNDIVIDE_ANI = "HairballBrownDivideAni",
HAIRBALLJUMP_ANI = "HairballJumpAni", //三种毛球是一样的动画
FESREDBOMBSHOW_ANI = "FesRedBombShowAni",
......@@ -52,7 +53,6 @@ export enum RecoverName {
EGGBROKEN_ANI = "EggBrokenAni",
HAIRBALLGREYDIS_ANI = "HairballGreyDisAni",
HAIRBALLBLACKDIS_ANI = "HairballBlackDisAni",
FESTIVALELESMALLDIS_ANI = "FestivalEleSmallDisAni",
//方形遮罩
RECT_MASK = "RectMask",
......
......@@ -30,7 +30,7 @@ export class FestivalTarget extends egret.DisplayObjectContainer {
this._count = value;
this.countNum.num = value;
}
constructor() {
constructor(count: number = 6) {
super()
var texture: egret.Texture = RES.getRes("festivalTargetBg_png");
var showImage = new egret.Bitmap(texture);
......@@ -46,6 +46,6 @@ export class FestivalTarget extends egret.DisplayObjectContainer {
this.countNum.y = 60;
this.addChild(this.countNum);
this.count = 6;
this.count = count;
}
}
\ 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