消消方块阵换皮表情
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

209 lines
6.3 KiB

import { Singleton } from "../../mx/tools/Singleton";
import { UIID } from "../game/ConfigRes";
import { TableNames } from "../game/ConfigTableData";
import { OtherDataType } from "../game/GameData";
import { NewFunType } from "../newFun/NewFun";
export enum StoryTypeGroup {
chushiComic = 1,
d1End = 2,
d2End = 3,
d3EndComic = 4,
d4End = 5,
d5End = 6,
d5EndComic = 7,
d6End = 8,
d9End = 9,
d10End = 10,
d12End = 11,
d14End = 12,
d18End = 13,
d19End = 14,
d20End = 15,
}
export enum GuideType {
/**开始引导*/
guide1 = 1,
/**武器引导*/
guide2 = 2,
/**角色引导*/
guide3 = 3,
/**强引导点击进入丧尸农场*/
guide4 = 4,
/**引导解锁困难模式*/
guide5 = 5,
/**引导抽宠物*/
guide6 = 6,
}
export class storyManager extends Singleton {
//开启剧情
isCanOpen(storyId) {
let chapter = gg.data.doc.chapter;
let bijiaoChapter = 0;
if (storyId == StoryTypeGroup.chushiComic) {
//初始剧情
if (gg.data.IsFirstLogin) {
return true
} else {
return false
}
} else if (storyId == StoryTypeGroup.d1End) {
bijiaoChapter = 2;
} else if (storyId == StoryTypeGroup.d2End) {
bijiaoChapter = 3;
} else if (storyId == StoryTypeGroup.d3EndComic) {
bijiaoChapter = 4;
} else if (storyId == StoryTypeGroup.d4End) {
bijiaoChapter = 5;
} else if (storyId == StoryTypeGroup.d5End) {
bijiaoChapter = 6;
} else if (storyId == StoryTypeGroup.d5EndComic) {
bijiaoChapter = 6;
} else if (storyId == StoryTypeGroup.d6End) {
bijiaoChapter = 7;
} else if (storyId == StoryTypeGroup.d9End) {
bijiaoChapter = 10;
} else if (storyId == StoryTypeGroup.d10End) {
bijiaoChapter = 11;
} else if (storyId == StoryTypeGroup.d12End) {
bijiaoChapter = 13
} else if (storyId == StoryTypeGroup.d14End) {
bijiaoChapter = 15;
} else if (storyId == StoryTypeGroup.d18End) {
bijiaoChapter = 19
} else if (storyId == StoryTypeGroup.d19End) {
bijiaoChapter = 20
} else if (storyId == StoryTypeGroup.d20End) {
bijiaoChapter = 21
}
if (chapter == bijiaoChapter) {
return true
} else {
return false
}
}
//storyGuide
storyGuide(storyId) {
//打开剧情
gg.game.guideStoryId = storyId
let list = gg.storyManager.getStoryComicData(storyId);
let isCanOpen = gg.storyManager.isCanOpen(storyId);
console.log("storyGuide == storyId == ", storyId);
console.log("storyGuide == isCanOpen == ", isCanOpen);
console.log("storyGuide == list == ", list);
if (list && isCanOpen) {
let isComic = gg.storyManager.isComic(storyId);
if (isComic) {
gg.ui.popPanel(UIID.storyComic);
} else {
gg.ui.popPanel(UIID.storyDialog);
}
}
}
//强制引导
storyForceGuide(storyId) {
// gg.game.guideStoryId = storyId
// let storyComicDataList = gg.data.table.getTableList<ITableStoryComic>(TableNames.StoryComic).filter(x => x.type == storyId);
// if(storyComicDataList && storyComicDataList.length > 0){
// let prefab = storyComicDataList[0].prefab;
// if(prefab){
// gg.ui.popPanel(UIID.storyComic);
// }else{
// gg.ui.popPanel(UIID.storyDialog);
// }
// }
}
//是漫画还是对话
isComic(storyId: number) {
let storyComicDataList = this.getStoryComicData(storyId);
if (storyComicDataList && storyComicDataList.length > 0) {
let prefab = storyComicDataList[0].prefab;
if (prefab) {
console.log("isComic == 是漫画");
return true
}
}
console.log("isComic == 不是漫画");
return false;
}
//获取当前剧情配置
getStoryComicData(storyId: number) {
let isFirst = this.isFirstStory(storyId)
console.log("isFirstStory == storyId == ", storyId);
return null
// if (isFirst) {
// //获取所有x.id == storyId的配置
// let storyComicDataList = gg.data.table.getTableList<ITableStoryComic>(TableNames.StoryComic).filter(x => x.type == storyId);
// console.log("isFirstStory == 第一次", storyComicDataList);
// return storyComicDataList;
// } else {
// return null;
// }
}
/*判断这个剧情是不是第一次*/
isFirstStory(storyId: number) {
let isFirst = gg.data.getkeyKeyValue(OtherDataType.CompletedStory, storyId);
console.log("isFirstStory == 空字符串", storyId, isFirst == '');
if (!isFirst) {
return true
} else {
return false
}
}
//本地保存剧情是否播放过
saveStoryPlayed(storyId: number) {
//setkeyKeyValue
gg.data.setkeyKeyValue(OtherDataType.CompletedStory, storyId, 1);
}
/**是否有剧情解锁 */
isUnLockMode() {
//找到type为story的配置
let arrs = gg.data.table.getTableList<ITableNewFun>(TableNames.NewFun).filter(x => x.type == NewFunType.Story);
//找到chapter小于等于当前章节的配置
let findFunId = -1
for (let i = 0; i < arrs.length; i++) {
let newFunData = arrs[i];
let funID = newFunData.funId;
if (newFunData.chapter == gg.data.doc.chapter) {
console.log("isUnLockMode == chapter == ", funID);
let list = gg.storyManager.getStoryComicData(funID);
let isCanOpen = gg.storyManager.isCanOpen(funID);
console.log("isUnLockMode == isCanOpen == ", isCanOpen);
console.log("isUnLockMode == list == ", list);
if (isCanOpen && list) {
findFunId = funID
return findFunId
}
}
}
return findFunId
}
}