觉醒时刻
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.

379 lines
13 KiB

1 week ago
// Learn TypeScript:
// - https://docs.cocos.com/creator/2.4/manual/en/scripting/typescript.html
// Learn Attribute:
// - https://docs.cocos.com/creator/2.4/manual/en/scripting/reference/attributes.html
// Learn life-cycle callbacks:
// - https://docs.cocos.com/creator/2.4/manual/en/scripting/life-cycle-callbacks.html
import User from "../../FrameWork/User/User";
import AppPlatform from "../../FrameWork/Util/AppPlatform";
import Common5 from "../../Platform/th/Common5";
import GuWanManager from "./GuWanManager";
import GameBase from "../SCommon/GameBase";
import PrefabManage, { GameType } from "../PrefabManager/PrefabManage";
import Fangbeibao from "./Fangbeibao";
import Jianding from "./Jianding";
import UserManager from "../Manager/UserManager";
import GameReport from "../../FrameWork/Report/ZyZyReport";
import TaskManager from "../JuQingChat/TaskManager";
import BagManager from "../Manager/BagManager";
const { ccclass, property } = cc._decorator;
@ccclass
export default class Wancheng extends GameBase {
@property(cc.Node)
layoutView: cc.Node = null;
@property(cc.Node)
videoBtn: cc.Node = null;
// LIFE-CYCLE CALLBACKS:
viewArray: { isBuy: boolean, goodId: number, jiandingChishu: number }[] = []
// onLoad () {}
sprArray: string[] = []
parentNode: cc.Node = null
// setParentData(node){
// this.parentNode = node
// }
onLoad() {
super.onLoad()
}
onDestroy() {
super.onDestroy()
}
initView() {
let qipao = this.node.getChildByName('qipao')
let lab = qipao.getChildByName('lab').getComponent(cc.Label)
lab.string = '没有想要的古董吗?点击刷新即可'
qipao.scale = 0.1
qipao.active = true
cc.tween(qipao)
.to(1.0, { scale: 1 }, { easing: 'backOut' })
.delay(5.0)
.to(0.1, { scale: 0.1 })
.union()
.repeatForever()
.start()
this.sprArray = ['真品', '赝品', '鉴定第二次', '鉴定第一次', '鉴定前']
let todayAntiqueIdList = User.getTodayAntiqueIdList()
if (todayAntiqueIdList.length == 0) {
//console.log('刷新数据1111111')
this.refreshData()
} else {
//console.log(todayAntiqueIdList,'刷新数据1111111')
this.viewArray = todayAntiqueIdList
this.refreshView()
}
for (let i = 0; i < this.layoutView.childrenCount; i++) {
let node = this.layoutView.children[i]
this.openTouchEvent2(node)
}
}
start() {
let callFunc = () => {
this.initView()
}
if (!Common5.guwanConfigs) {
cc.loader.loadRes('Json/guwanConfig/guwanConfigs.json', function (err, gameconfig) {
if (err) {
return;
}
Common5.guwanConfigs = gameconfig.json;
console.log("古玩配置加载成功", Common5.guwanConfigs);
callFunc()
});
} else {
callFunc()
}
}
videoBtnClick() {
//刷新数据
//Common5.playEffect("ui")
console.log('videoBtnClick+++++++++++++===')
Common5.playEffect("CommonRes/sound/按键点击")
let tab = {
onClose: (finish) => {
if (finish) {
let mainTaskInfo: any = TaskManager.getCurUnLockMainTaskInfo()
let mainId = mainTaskInfo.Id
Common5.ReportDY("inLevel", `任务${mainId}-AD-古玩市场刷新古董`);
//Common5.showTips_custom("开始抽奖");
GuWanManager.setIsVideo(true)
this.refreshData()
}
else {
Common5.showTips_custom("广告未观看完");
this.reportKey(() => {
GameReport.ADReport('古玩市场刷新古董', 0)
})
}
}, onFailed: () => {
}
}
AppPlatform.playVideo_custom(tab)
}
refreshData() {
let tes1 = []
for (let i = 0; i < 17; i++) {
tes1[i] = i
}
// tes1 = Common5.GameProbabillityConfig.GuWanShiChang.guwanchengArray
// let muzhuRefresh = Common5.GameProbabillityConfig.GuWanShiChang.muzhuRefresh
// let change = Common5.getProbabilityResultIndex(muzhuRefresh)
// if(change == 0 ){
// tes1 = Common5.GameProbabillityConfig.GuWanShiChang.guwanchengArrayMuzhu
// }
// let tes2 = [10,11,12,13,14,15,16]
let xuqiuIndex = 6
// let xuqiuIndex2 = 0
let tes3 = []
tes1.sort(function () {
return 0.5 - Math.random()
})
for (let i = 0; i < xuqiuIndex; i++) {
let num = tes1[i]
tes3.push(num)
}
// //摆放的6个物品中必有一个食谱
// tes3.push(18)
let goodArray = this.getTaskGoods()
if (goodArray.length > 0) {
for (let i = 0; i < goodArray.length; i++) {
tes3[i] = goodArray[i].goodId
}
}
// if (goodArray.goodId != 0) {
// tes3.push(goodArray.goodId)
// }
tes3.sort(function () {
return 0.5 - Math.random()
})
let todayAntiqueIdList: { isBuy: boolean, goodId: number, jiandingChishu: number }[] = []
for (let i = 0; i < 6; i++) {
let array_ = { isBuy: false, goodId: tes3[i], jiandingChishu: 0 }
todayAntiqueIdList.push(array_)
}
User.setTodayAntiqueIdList(todayAntiqueIdList)
this.refreshView()
//console.log(tes3,'tes3++++++===')
//console.log(todayAntiqueIdList,'tes3++++++===')
}
getGuWanConfigByGoodId(goodId) {
let guwanConfigs = GuWanManager.getGuwanList()
for (let i = 0; i < guwanConfigs.length; i++) {
if (guwanConfigs[i].id == goodId) {
return guwanConfigs[i]
}
}
}
refreshView() {
let todayAntiqueIdList = User.getTodayAntiqueIdList()
let guwanConfigs = GuWanManager.getGuwanList()//Common5.guwanConfigs;
// console.log(guwanConfigs,"guwanConfigs++++++++++++++++===")
for (let i = 0; i < todayAntiqueIdList.length; i++) {
let isbuy = todayAntiqueIdList[i].isBuy
let config = this.getGuWanConfigByGoodId(todayAntiqueIdList[i].goodId)
// let config = guwanConfigs[todayAntiqueIdList[i].goodId]
//console.log(config)
let node = this.layoutView.children[i]
if (node && !isbuy) {
let price = config.buyPrice
let icon = node.getChildByName('icon')
let spr = config.spriteArray + '/鉴定前'
node.active = true
Common5.getSpriteFrameFromBundle("huxingongyuan", spr, icon.getComponent(cc.Sprite));
let jiageLab = node.getChildByName('jiageLab')
let aaa = Common5.getNumberChangeHanzi(price, '1')
aaa = aaa as string
jiageLab.getComponent('cc.Label').string = aaa
node['GoodsConfig'] = config
node['todayAntiqueIdIndex'] = i
} else {
node.active = false
}
}
}
openTouchEvent2(node) {
node.on(cc.Node.EventType.TOUCH_START, this.btnTouchStartNode, this)
node.on(cc.Node.EventType.TOUCH_END, this.btnTouchEndNode, this)
}
closeTouchEvent2(node: cc.Node) {
node.off(cc.Node.EventType.TOUCH_START, this.btnTouchStartNode, this)
node.off(cc.Node.EventType.TOUCH_END, this.btnTouchEndNode, this)
}
btnTouchStartNode(event) {
let target = event.target
let icon = target.getChildByName('icon')
icon.scale = 0.75
}
btnTouchEndNode(event) {
//Common5.playEffect("ui")
Common5.playEffect("CommonRes/sound/按键点击")
let target = event.target
let icon = target.getChildByName('icon')
icon.scale = 0.7
if (target['isRun']) {
return
}
if (!target['isRun']) {
target['isRun'] = true
}
let goodsConfig = target['GoodsConfig']
let price = goodsConfig.buyPrice
let money = UserManager.getCurMoney()
if (money - price >= 0) {
// Common5.getPrefabFromBundle("subRes_Resources","Prefabs/UI/shangyejie/fangruBeibao",this.node.getChildByName("GameNode"),(fangruBeibao)=>{
// target['isRun'] = false
// let beibao:Fangbeibao = fangruBeibao.getComponent('Fangbeibao')
// beibao.setData(this.node, target)
// });
PrefabManage.loadPrefabByType(GameType.HuXinGouMai, null, (fangruBeibao) => {
target['isRun'] = false
let beibao: Fangbeibao = fangruBeibao.getComponent('Fangbeibao')
beibao.setData(this.node, target)
})
} else {
PrefabManage.showTextTips('金币不足!', 1)
target['isRun'] = false
}
}
jiandingLayerShow(targetNode) {
targetNode.active = false
let bagGoods: { goodId: number, jiandingChishu: number, zhenjiawupin: number, fenlei: number, goodNum: number, priceNum: number } = {
goodId: 0, jiandingChishu: 0, zhenjiawupin: 0, fenlei: 0, goodNum: 0, priceNum: 0
}
let todayAntiqueIdList = User.getTodayAntiqueIdList()
let todayAntiqueIdIndex = targetNode['todayAntiqueIdIndex']
for (let i = 0; i < todayAntiqueIdList.length; i++) {
if (todayAntiqueIdIndex == i) {
todayAntiqueIdList[i].isBuy = true
}
}
let goodsConfig = targetNode['GoodsConfig']
bagGoods.goodId = goodsConfig.id
bagGoods.jiandingChishu = 0 //鉴定次数为0
bagGoods.zhenjiawupin = 2 //没有鉴定
bagGoods.fenlei = 0 //没有鉴定
bagGoods.goodNum = 1 //没有鉴定
bagGoods.priceNum = goodsConfig.buyPrice * 0.9
//User.setBagGoodsList(bagGoods)
let price = goodsConfig.buyPrice
//UserManager.subMoney(price)
//kouqian
let jiandingChishu = 0
User.setTodayAntiqueIdList(todayAntiqueIdList)
// Common5.getPrefabFromBundleNew("subRes_Resources","Prefabs/UI/shangyejie/jiandingLayer",'GameNode',(jiandingLayer)=>{
// let jianding:Jianding = jiandingLayer.getComponent('Jianding')
// jianding.refreshData(jiandingChishu, goodsConfig, bagGoods)
// });
PrefabManage.loadPrefabByType(GameType.HuXinJianDing, null, (jiandingLayer) => {
let jianding: Jianding = jiandingLayer.getComponent('Jianding')
jianding.refreshData(jiandingChishu, goodsConfig, bagGoods)
UserManager.subMoney(price)
})
}
fangruBeubao(targetNode) {
//背包数据更新 FIX ME
//更新背包数据 // 0,1,2 0假,1真,2没有鉴定,3已经鉴定,fenlei0,1,2
//bagGoodsList:{goodId:number,jiandingChishu:number, zhenjiawupin:0, fenlei:0, goodNum:number}[] = [];
let bagGoods: { goodId: number, jiandingChishu: number, zhenjiawupin: number, fenlei: number, goodNum: number, priceNum: number } = {
goodId: 0, jiandingChishu: 0, zhenjiawupin: 0, fenlei: 0, goodNum: 0, priceNum: 0
}
targetNode.active = false
let todayAntiqueIdList = User.getTodayAntiqueIdList()
let todayAntiqueIdIndex = targetNode['todayAntiqueIdIndex']
for (let i = 0; i < todayAntiqueIdList.length; i++) {
if (todayAntiqueIdIndex == i) {
todayAntiqueIdList[i].isBuy = true
}
}
let goodsConfig = targetNode['GoodsConfig']
let price = goodsConfig.buyPrice
UserManager.subMoney(price)
User.setTodayAntiqueIdList(todayAntiqueIdList)
bagGoods.goodId = goodsConfig.id
bagGoods.jiandingChishu = 0 //鉴定次数为0
bagGoods.zhenjiawupin = 2 //没有鉴定
bagGoods.fenlei = 0 //没有鉴定
bagGoods.goodNum = 1 //没有鉴定
bagGoods.priceNum = goodsConfig.buyPrice * 0.9
//User.setBagGoodsList(bagGoods)
}
getTaskGoods() {
//获得物品..
let goodArray = []
let mainTaskInfo: any = TaskManager.getCurUnLockMainTaskInfo()
let mainId = mainTaskInfo.Id
let configData = TaskManager.getTaskConfigById(mainId)
let GMGoodIdArray = configData.GMGoodIdArray
let taskCaiGouDan = configData.taskCaiGouDan
if (taskCaiGouDan && taskCaiGouDan.length > 0) {
if (GuWanManager.getIsVideo()) {//当前已经看过广告
for (let i = 0; i < GMGoodIdArray.length; i++) {
if (BagManager.getBagGoodNums(GMGoodIdArray[i]) <= 0) {
goodArray.push({ goodId: GMGoodIdArray[i], goodNum: 1 })
GuWanManager.setIsVideo(false)
break
}
}
}
for (let i = 0; i < taskCaiGouDan.length; i++) {
if (BagManager.getBagGoodNums(taskCaiGouDan[i]) <= 0 && GMGoodIdArray.indexOf(taskCaiGouDan[i]) == -1) {
goodArray.push({ goodId: taskCaiGouDan[i], goodNum: 1 })
break
}
}
return goodArray
}
}
// update (dt) {}
}