Commit 88148681 authored by wjf's avatar wjf

l

parent 5682692d
......@@ -22,4 +22,3 @@
# doc/*.txt
# 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
node_modules
bin-release
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
......@@ -44,7 +44,6 @@
top: 0;
background: rgba(0, 0, 0, 0.6);
}
.app-close {
position: absolute;
width: 5vw;
......@@ -52,7 +51,6 @@
top: 5vw;
right: 5vw;
}
.app-info-wrap {
padding: 3vh 0;
box-sizing: border-box;
......@@ -69,7 +67,6 @@
flex-direction: column;
align-items: center;
}
.app-logo {
width: 18.7vw;
margin-top: 4vh;
......@@ -77,7 +74,6 @@
background-repeat: no-repeat;
background-size: 100%;
}
.app-name {
font-size: 24px;
font-weight: 400;
......@@ -86,7 +82,6 @@
text-align: center;
margin-top: 3vh;
}
.app-button {
width: 75.2vw;
height: 6.9vh;
......@@ -126,20 +121,6 @@
<img id="pic" style="width:100%;position: absolute;z-index: 999;display: none;" />
<script>
window['imgver'] = '11112';//签到itemId对应图片,线上注意对应修改
window['duiba'] = '';
window["appKeyTuia"] = "2ZjLbhEBCFAzBbihEtxLEq25mXKw";//推啊appkey
//推啊广告id
window["slotIdsTuia"] = [
"324689",//首页悬浮 0
"327165",//签到完成翻倍 1
"327166",//开始前领取道具 2
"327166",//游戏中领取道具 3
"327167",//游戏失败领取步数 4
"327165",//游戏成功翻倍领取 5
"327165",//开宝箱翻倍领取 6
]
window['signconfigs'] = [
{ nums: '*20', type: 'money' },
{ nums: '*20', type: 'money' },
......
......@@ -6,6 +6,7 @@ import wait from "../../new_tc/wait";
import { DataManager } from "../../tw/manager/DataManager";
import { NetManager } from "../../tw/manager/NetManager";
import Panel from "./Panel";
import { handleVideo } from "../../../src/myVideo/videoCtrl";
import Loading from "./Loading";
import { showToast } from "../ctrls/toastCtrl";
export default class PrizePanel extends Panel {
......@@ -72,8 +73,9 @@ export default class PrizePanel extends Panel {
//新增看视频双倍
this["doubleBtn"].addEventListener(egret.TouchEvent.TOUCH_TAP, () => {
NetManager.ins.clickLog(getlogItem(6))
NetManager.ins.getTuiaAd(
() => {
handleVideo(
(s) => {
if (s) {
//居中
this['goBtn'].horizontalCenter = 0;
//隐藏
......@@ -92,9 +94,17 @@ export default class PrizePanel extends Panel {
},
25
)
} else {
showToast("广告未成功观看,无法加倍领取");
}
},
() => {
NetManager.ins.getIncentiveAward(
() => { },
25
)
},
() => { showToast("广告未成功观看,无法加倍领取"); },
window["slotIdsTuia"][5]
window["slotid"]
)
}, this)
}
......
......@@ -94,34 +94,15 @@ export class NetManager extends ABNetManager {
};
this.send(net);
}
/**
*
* @param rewardFn 已完成活动,执行
* @param closeFn 未完成关闭
* @param comCloseFn 已完成活动,返回的提示,一般是toast或游戏内的逻辑,暂不用
*/
public getTuiaAd(rewardFn: Function, closeFn: Function, slotId: string) {
this['tuiaRewardMark'] = false;
let _rewardFn = () => {
// rewardFn();
//这里只标记吧,下面返回再执行
this['tuiaRewardMark'] = true;
console.log("观看成功")
}
let _closeFn = () => {
if (!this['tuiaRewardMark']) {
closeFn();
} else {
rewardFn();
}
}
public getTuiaAd(rewardFn, closeFn) {
window["TAIsdk"].init({
appKey: window["appKeyTuia"] || '2ZjLbhEBCFAzBbihEtxLEq25mXKw',//固定,到时修改
slotId: slotId, //到时修改
slotId: window["slotIdTuia"] || '324689', //到时修改
deviceId: getUrl('deviceId'),
userId: window["CFG"].uid,
rewardCallback: _rewardFn,
closeCallback: _closeFn,
rewardCallback: rewardFn,
closeCallback: closeFn,
extParams: {},
debug: false,
// newWebviewFn: newWebview,
......
......@@ -18,18 +18,7 @@
//window['tryWuhanVideo']=true;
window["slotidIcon"] = "srlKMxcd2230";//首页icon的广告位id
window["slotid"] = "srlboItw2231";//其他位置广告位id
window["appKeyTuia"] = "2ZjLbhEBCFAzBbihEtxLEq25mXKw";//推啊appkey
//推啊广告id
window["slotIdsTuia"] = [
"324689",//首页悬浮 0
"327165",//签到完成翻倍 1
"327166",//开始前领取道具 2
"327166",//游戏中领取道具 3
"327167",//游戏失败领取步数 4
"327165",//游戏成功翻倍领取 5
"327165",//开宝箱翻倍领取 6
]
window["slotIdTuia"] = "324689";//推啊广告id
</script>
<div style="margin: auto;width: 100%;height: 100%;" class="egret-player" data-entry-class="Main" data-orientation="auto"
......@@ -69,7 +58,6 @@
top: 0;
background: rgba(0, 0, 0, 0.6);
}
.app-close {
position: absolute;
width: 5vw;
......@@ -77,7 +65,6 @@
top: 5vw;
right: 5vw;
}
.app-info-wrap {
padding: 3vh 0;
box-sizing: border-box;
......@@ -94,7 +81,6 @@
flex-direction: column;
align-items: center;
}
.app-logo {
width: 18.7vw;
margin-top: 4vh;
......@@ -102,7 +88,6 @@
background-repeat: no-repeat;
background-size: 100%;
}
.app-name {
font-size: 24px;
font-weight: 400;
......@@ -111,7 +96,6 @@
text-align: center;
margin-top: 3vh;
}
.app-button {
width: 75.2vw;
height: 6.9vh;
......
......@@ -514,7 +514,7 @@ export default class MainScene extends Scene {
//位置
var p = Tool.getPositionByIndex(i);
//石门
var dooreData = [4, 5, 6, 51, 61]
var dooreData = [5, 6, 51, 61]
if (dooreData.indexOf(latticesD[i]) >= 0) {
let door: Door = Pool.takeOut(RecoverName.DOOR);
var closed: boolean = (latticesD[i] + "").length == 2 ? false : true
......@@ -603,7 +603,7 @@ export default class MainScene extends Scene {
for (var i = 0; i < elements.length; i++) {
//如果对应格子为空,直接跳过,
if (!this.lattices[i]) continue;
let ele: Element;
var p = Tool.getPositionByIndex(i);
switch (elements[i]) {
//如果为0记录空格
case 0:
......@@ -617,7 +617,16 @@ export default class MainScene extends Scene {
case 9:
case 10:
var type = Tool.returnType(i, this.lattices, this.chapterData.baseElementTypes);
ele = Tool.getElement(type)
let ele: Element = Pool.takeOut(RecoverName.ELEMENT);
if (!ele) {
ele = new Element(type)
} else {
ele.reset(type)
}
ele.x = p[0];
ele.y = p[1];
this.elementContainer.addChild(ele);
this.lattices[i].element = ele;
if (elements[i] == 4) {
ele.setState(StateType.LOCK, true)
}
......@@ -638,37 +647,56 @@ export default class MainScene extends Scene {
else if (elements[i] == 10) {
ele.setState(StateType.HAIRBALLBLACK, true)
}
break;
//棒棒糖
case 3:
this.lollipopCount++;
ele = Tool.getElement(ElementType.LOLLIPOP)
let lol: Element = Pool.takeOut(RecoverName.ELEMENT);
if (!lol) {
lol = new Element(ElementType.LOLLIPOP)
} else {
lol.reset(ElementType.LOLLIPOP)
}
lol.x = p[0];
lol.y = p[1];
this.elementContainer.addChild(lol);
this.lattices[i].element = lol;
break;
//石头
case 2:
ele = Tool.getElement(ElementType.ROCK)
let rock: Element = Pool.takeOut(RecoverName.ELEMENT);
if (!rock) {
rock = new Element(ElementType.ROCK)
} else {
rock.reset(ElementType.ROCK)
}
rock.x = p[0];
rock.y = p[1];
this.elementContainer.addChild(rock);
this.lattices[i].element = rock;
break;
//果冻
case 5:
ele = Tool.getElement(ElementType.JELLY)
let jelly: Element = Tool.getElement(ElementType.JELLY)
jelly.x = p[0];
jelly.y = p[1];
this.elementContainer.addChild(jelly);
this.lattices[i].element = jelly;
break;
//鸡蛋
case 6:
ele = Tool.getElement(ElementType.CHICKEN_EGG)
let egg: Element = Tool.getElement(ElementType.CHICKEN_EGG)
egg.x = p[0];
egg.y = p[1];
this.elementContainer.addChild(egg);
this.lattices[i].element = egg;
break;
default:
//其他标识按空元素记
this.emptys.push(i);
break
}
//有元素操作
if (ele) {
var p = Tool.getPositionByIndex(i);
ele.x = p[0];
ele.y = p[1];
this.elementContainer.addChild(ele);
this.lattices[i].element = ele;
}
//针对石门修改
if (this.lattices[i].doorClosed) {
if (this.lattices[i].element) {
......@@ -679,7 +707,6 @@ export default class MainScene extends Scene {
Tool.removeEle(i, this.emptys);
}
}
}
//针对如果地图没有棒棒糖0,但是通关目标有,需要标记生成
if (this.passElements &&
this.passElements[ElementType.LOLLIPOP] &&
......@@ -687,6 +714,7 @@ export default class MainScene extends Scene {
this.lollipopMark = true
}
}
}
//重置基础元素及特效类型
initBaseElement() {
var elements = this.chapterData.map.baseElements;
......@@ -1586,7 +1614,10 @@ export default class MainScene extends Scene {
this.lollipopMark = true
}
}
if (++count == countAll) callback();
count++;
if (count == countAll) {
callback()
}
})
}
......@@ -2054,7 +2085,9 @@ export default class MainScene extends Scene {
this.magicRotateData = [rotateData];
for (var i = 0; i < this.lattices.length; i++) {
var lat = this.lattices[i];
if (Tool.judgeMagicEliminate(lat) &&
if (Tool.judgeBaseEle(lat) && //是基础元素
!lat.doorClosed &&//石门非关闭状态
lat.element.effectType != EffectType.MAGICLION && //不能是魔力鸟特效
lat.element.type == other.type //类型相等
) {
//一个魔力鸟时其实不用加,因为石头或果冻的不会进入判断
......@@ -2323,7 +2356,9 @@ export default class MainScene extends Scene {
this.magicRotateData.push(rotateData);
//对于魔力鸟的效果有不一样的,旋转,该组元素要旋转消除
for (var i = 0; i < this.lattices.length; i++) {
if (Tool.judgeMagicEliminate(this.lattices[i]) &&
if (Tool.judgeBaseEle(this.lattices[i]) && //是基础元素
!this.lattices[i].doorClosed &&//石门非关闭状态
this.lattices[i].element.effectType != EffectType.MAGICLION && //不是魔力鸟
this.lattices[i].element.type == type //类型相等
) {
if (this.eliminatedElements.indexOf(i) < 0 && effectIndexs.indexOf(i) < 0) {
......@@ -2576,7 +2611,8 @@ export default class MainScene extends Scene {
egret.Tween.get(ele)
.to({ x: p[0], y: p[1] }, 500)
.call(() => {
if (++count == countAll) {
count++;
if (count == countAll) {
//交换结束后,判断是否有三消
if (this.threeMatch()) {
this.eliminate()
......@@ -2793,7 +2829,7 @@ export default class MainScene extends Scene {
for (let i = 0; i < indexs.length; i++) {
let index = indexs[i];
let lat = this.lattices[index];
if (lat && lat.element && !lat.doorClosed && checkFun(lat)) {
if (lat && lat.element && checkFun(lat) && !lat.doorClosed) {
//添加进消除队列,注意重复
if (this.eliminatedElements.indexOf(index) == -1) this.eliminatedElements.push(index)
}
......
......@@ -26,6 +26,7 @@ import MapTopPart from "./MapTopPart";
import RedBagAni, { createRedBagIcon } from "./RedBagAni";
import { createEffect2MovieClip } from "../effect/createEffect2";
import { NetName } from "../../libs/tw/enum/NetName";
import { handleVideo } from "../myVideo/videoCtrl";
import { getUrl } from "../myVideo/getDefaultConfig";
let doHelpFlag = false;
......@@ -56,10 +57,45 @@ export default class MapScene extends Scene {
NetManager.ins.getIconInfo((s, res) => {
//成功才显示,且有剩余次数remainAwardTimes
if (s && res.data && res.data.remainAwardTimes) {
//领奖类型:0:武汉 1:推啊
//武汉
if (res.data.type == 0) {
this["wuhanGroup"].visible = true;
NetManager.ins.showLog(getlogItem(14))
this["wuhanGroup"].addEventListener(egret.TouchEvent.TOUCH_TAP, () => {
NetManager.ins.clickLog(getlogItem(14))
handleVideo(
(s) => {
if (s) {
Loading.instace.show();
NetManager.ins.getIconAward((succ, ress) => {
Loading.instace.hide();
if (succ) {
PanelCtrl.instance.show("DailyIconPrizePanel");
//如果次数没了就隐藏icon
if (!ress.data.remainAwardTimes) {
this["wuhanGroup"].visible = false;
}
} else {
showToast("领取失败");
}
})
} else {
showToast("广告未成功观看,无法领取奖励");
}
},
() => { NetManager.ins.getIconAward(() => { }) },
window["slotidIcon"]
)
}, this)
}
//推啊
else if (res.data.type == 1) {
this["tuiaGroup"].visible = true;
NetManager.ins.showLog(getlogItem(13))
this["tuiaGroup"].addEventListener(egret.TouchEvent.TOUCH_TAP, () => {
NetManager.ins.clickLog(getlogItem(13))
this['tuiaRewardMark'] = false;
NetManager.ins.getTuiaAd(
() => {
Loading.instace.show();
......@@ -75,6 +111,7 @@ export default class MapScene extends Scene {
showToast("领取失败");
}
})
this['tuiaRewardMark'] = true;
//关闭弹框
// window['TAIsdk'].iframeNode.remove()
// setTimeout(function () {
......@@ -83,12 +120,12 @@ export default class MapScene extends Scene {
// window['TAIsdk'].closeBtn.style.display = 'none'
},
() => {
showToast("活动未完成,无法领取奖励");
},
window["slotIdsTuia"][0]
//上面没回调过。就显示toast
if (!this['tuiaRewardMark']) showToast("活动未完成,无法领取奖励");
}
)
}, this)
}
}
})
......
......@@ -4,6 +4,7 @@ import { NetManager } from "../../libs/tw/manager/NetManager";
import getHomeData from "../getHomeData";
import { getlogItem } from "../Main";
import AdSmallComp from "../mapScene/AdSmallComp";
import { handleVideo } from "../myVideo/videoCtrl";
import { showToast } from "../../libs/new_wx/ctrls/toastCtrl";
import Loading from "../../libs/new_wx/components/Loading";
import { updateMainTimer } from "../../libs/new_wx/MainBase";
......@@ -39,8 +40,9 @@ export default class BoxPanel extends Panel {
this['close2Btn'].visible = false;
this["doubleBtn"].addEventListener(egret.TouchEvent.TOUCH_TAP, () => {
NetManager.ins.clickLog(getlogItem(12))
NetManager.ins.getTuiaAd(
() => {
handleVideo(
(s) => {
if (s) {
this['close2Btn'].visible = true;
this['doubleBtn'].visible = false;
Loading.instace.show()
......@@ -60,9 +62,17 @@ export default class BoxPanel extends Panel {
},
22
)
} else {
showToast("广告未成功观看,无法加倍领取");
}
},
() => {
NetManager.ins.getIncentiveAward(
() => { },
22
)
},
() => { showToast("广告未成功观看,无法加倍领取"); },
window["slotIdsTuia"][6]
window["slotid"]
)
}, this)
......
......@@ -2,6 +2,7 @@ import Panel from "../../libs/new_wx/components/Panel";
import { NetManager } from "../../libs/tw/manager/NetManager";
import { addRankFriendList } from "../mapScene/RankFriendList";
import { changeMapScene } from "../startScene/StartScene";
import { handleVideo } from "../myVideo/videoCtrl";
import { showToast } from "../../libs/new_wx/ctrls/toastCtrl";
import { getlogItem } from "../Main";
......@@ -32,13 +33,17 @@ export default class FailedPanel extends Panel {
this["videoBtn"].visible = true;
this["videoBtn"].addEventListener(egret.TouchEvent.TOUCH_TAP, () => {
NetManager.ins.clickLog(getlogItem(4))
NetManager.ins.getTuiaAd(
() => {
handleVideo(
(s) => {
if (s) {
this.hidePanel();
data.complete();
} else {
showToast("广告未成功观看,请继续观看");
}
},
() => { showToast("广告未成功观看,无法复活"); },
window["slotIdsTuia"][4]
() => { },
window["slotid"]
)
}, this);
}
......
......@@ -3,6 +3,7 @@ import { DataManager } from "../../libs/tw/manager/DataManager";
import { addAdComp } from "./BoxPanel";
import { NetManager } from "../../libs/tw/manager/NetManager";
import { getlogItem } from "../Main";
import { handleVideo } from "../myVideo/videoCtrl";
import Loading from "../../libs/new_wx/components/Loading";
import { showToast } from "../../libs/new_wx/ctrls/toastCtrl";
import { updateMainTimer } from "../../libs/new_wx/MainBase";
......@@ -50,8 +51,9 @@ export default class SignPrizePanel extends Panel {
this['close2Btn'].visible = false;
this["doubleBtn"].addEventListener(egret.TouchEvent.TOUCH_TAP, () => {
NetManager.ins.clickLog(getlogItem(8))
NetManager.ins.getTuiaAd(
() => {
handleVideo(
(s) => {
if (s) {
Loading.instace.show();
NetManager.ins.getIncentiveAward(
(s) => {
......@@ -71,9 +73,16 @@ export default class SignPrizePanel extends Panel {
},
21
)
} else {
showToast("广告未成功观看,无法加倍领取");
}
},
() => {
NetManager.ins.getIncentiveAward(
() => { },
21)
},
() => { showToast("广告未成功观看,无法加倍领取") },
window["slotIdsTuia"][1]
window["slotid"]
)
}, this)
}
......
......@@ -18,6 +18,7 @@ import { addRankFriendList } from "../mapScene/RankFriendList";
import { addAdComp } from "./BoxPanel";
import { getChapterData } from "../something/chapters/getChapter";
import { getlogItem } from "../Main";
import { handleVideo } from "../myVideo/videoCtrl";
export default class StartPanel extends Panel {
static currlevel;
......@@ -193,45 +194,57 @@ export default class StartPanel extends Panel {
onTap_video1btn() {
//看视频按钮点击
NetManager.ins.clickLog(getlogItem(2))
NetManager.ins.getTuiaAd(
() => {
handleVideo(
(s) => {
if (s) {
this['video1btn'].visible = false;
this.videoProp[1] = 1;
this['nums1Txt'].text = (this.hammer + this.videoProp[1]) + "";
showToast("增加一个锤子道具")
} else {
showToast("广告未成功观看,道具领取失败")
}
},
() => { showToast("广告未成功观看,道具领取失败") },
window["slotIdsTuia"][2]
() => { },
window["slotid"]
)
}
//炸弹
onTap_video2btn() {
//看视频按钮点击
NetManager.ins.clickLog(getlogItem(2))
NetManager.ins.getTuiaAd(
() => {
handleVideo(
(s) => {
if (s) {
this['video2btn'].visible = false;
this.videoProp[0] = 1;
this['nums2Txt'].text = (this.boom + this.videoProp[0]) + "";
showToast("增加一个炸弹道具")
} else {
showToast("广告未成功观看,道具领取失败")
}
},
() => { showToast("广告未成功观看,道具领取失败") },
window["slotIdsTuia"][2]
() => { },
window["slotid"]
)
}
//步数
onTap_video3btn() {
//看视频按钮点击
NetManager.ins.clickLog(getlogItem(2))
NetManager.ins.getTuiaAd(
() => {
handleVideo(
(s) => {
if (s) {
this['video3btn'].visible = false;
this.videoProp[2] = 1;
this['nums3Txt'].text = (this.boom + this.videoProp[2]) + "";
showToast("增加一个增加步数道具")
} else {
showToast("广告未成功观看,道具领取失败")
}
},
() => { showToast("广告未成功观看,道具领取失败") },
window["slotIdsTuia"][2]
() => { },
window["slotid"]
)
}
......
......@@ -60,15 +60,19 @@ export default class VideoBuyPanel extends Panel {
this["videoBtn"].visible = true;
this["videoBtn"].addEventListener(egret.TouchEvent.TOUCH_TAP, () => {
NetManager.ins.clickLog(getlogItem(10))
NetManager.ins.getTuiaAd(
() => {
handleVideo(
(s) => {
if (s) {
this.hidePanel();
//回调
data.complete(true);
showToast("领取成功")
} else {
showToast("广告未成功观看,道具领取失败")
}
},
() => { showToast("广告未成功观看,道具领取失败") },
window["slotIdsTuia"][3]
() => { },
window["slotid"]
)
}, this);
} else {
......
......@@ -397,55 +397,6 @@ export class Tool {
return false;
}
/**
* 判断鸡蛋孵小鸡可飞入的索引
* 基础元素,无任何状态,类型不为鸡,石门非关闭
* @param lat
*/
public static judgeSetChicken(lat: Lattice): boolean {
if (Tool.judgeBaseEle(lat) &&
!lat.element.hasAnyState() &&
lat.element.type !== ElementType.CHICKEN &&
!lat.doorClosed
) {
return true;
}
return false;
}
/**
* 判断可被单魔力鸟效果消除的元素
* 是基础元素,非石门关闭,非魔力鸟,(基础类型的判断自行添加)
* @param lat
*/
public static judgeMagicEliminate(lat: Lattice): boolean {
if (Tool.judgeBaseEle(lat) && //是基础元素
!lat.doorClosed &&//石门非关闭状态
lat.element.effectType != EffectType.MAGICLION //不能是魔力鸟特效
) {
return true;
}
return false
}
/**
* 判断
* 果冻可蔓延、
* 毛球可分裂、
* 毛球可跳动
* 的方向格子索引,暂时都一致,不区分
* 是基础元素,无任何状态,石门非关闭
* @param lat
*/
public static judgeAiActionDirection(lat: Lattice): boolean {
if (Tool.judgeBaseEle(lat) &&
!lat.element.hasAnyState() &&
!lat.doorClosed
) {
return true;
}
return false;
}
/**
* 判断元素是否可被手势选中和交换
......
......@@ -689,7 +689,7 @@ export const Chapters1: ChapterData[] = [
],
},
},
//12 会开局消除,baseElements有问题
//12
{
baseElementTypes: [0, 1, 2, 3, 4],
bubbleProbability: 0,
......
......@@ -170,7 +170,7 @@ export class Element extends eui.Component {
* 替换资源时,同时修改
* @param source
*/
private changeSource(source: string) {
changeSource(source: string) {
// this.showImage.source = source;
var texture: egret.Texture = RES.getRes(source);
this.showImage.texture = texture
......@@ -274,9 +274,8 @@ export class Element extends eui.Component {
}
}
/**
* 去掉原先带的所有特效
*/
private removeEffectHas() {
//回收掉原先有的
switch (this._effectType) {
......@@ -359,7 +358,7 @@ export class Element extends eui.Component {
this.states[state] = stateEx;
//视图添加
this.addChild(this.states[state]);
//气泡定制逻辑,暂时没出现给特效元素设置气泡的操作,所以先不管,只对视图做简单处理
//气泡定制逻辑
if (state === StateType.BUBBLE) this.showImage.alpha = 0;
}
}
......
......@@ -27,8 +27,6 @@ const chickenNum: number = 4;
//节日大红包的小红包数量
export const fesELeSmallNum: number = 6;
//很多motion在石门关闭时都不能触发,暂时就只有石门,以后有多出来的再独立封装
export class AiControl {
private static _ins: AiControl
/**
......@@ -200,7 +198,7 @@ export class AiControl {
var lat = thisObj.lattices[a];
//是基础元素,但是不能有任何状态, 考虑修改小红包属性为可fall,
if (Tool.judgeBaseEle(lat) &&
!lat.element.hasAnyState() &&
!lat.element.hasAnyState()&&
!lat.doorClosed //石门未关闭
) {
redIndexs.push(a);
......@@ -378,7 +376,13 @@ export class AiControl {
for (var a = 0; a < thisObj.lattices.length; a++) {
var lat = thisObj.lattices[a];
//是基础元素,但是不能有任何状态,去掉鸡,且石门未关闭
if (Tool.judgeSetChicken(lat)) chickenIndexs.push(a);
if (Tool.judgeBaseEle(lat) &&
!lat.element.hasAnyState() &&
lat.element.type !== ElementType.CHICKEN&&
!lat.doorClosed
) {
chickenIndexs.push(a);
}
}
//如果没有能飞的格子,直接回调
if (!chickenIndexs.length) {
......@@ -495,7 +499,10 @@ export class AiControl {
bubbleAni.play(fromType, type, () => {
//显示
ele.visible = true;
if (++count == countAll) callback();
count++;
if (count == countAll) {
callback();
}
})
}
}
......@@ -738,7 +745,7 @@ function judgeFesEleBigExist(lattices: Lattice[]) {
}
/**
* 判断气泡是否存在,废弃了,气泡会再生,提前判断无意义
* 判断气泡是否存在
* @param lattices
*/
function judgeBubbleExist(lattices: Lattice[]) {
......@@ -807,7 +814,12 @@ function judgeActionIndex(index: number, lattices: Lattice[]): number {
while (arr.length) {
var rand = Math.floor(Math.random() * arr.length);
var i = arr.splice(rand, 1)[0];
if (Tool.judgeAiActionDirection(lattices[i])) return i;
if (Tool.judgeBaseEle(lattices[i]) &&
!lattices[i].element.hasAnyState() &&
!lattices[i].doorClosed
) {
return i
}
}
return null
}
......
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