186 lines
6.8 KiB
TypeScript
186 lines
6.8 KiB
TypeScript
/**
|
|
* 开始界面
|
|
*/
|
|
|
|
import AudioManager from "../Tools/AudioManager";
|
|
import Define, { GameType } from "../Tools/Define";
|
|
import GameResMgr, { soundName, uiPreName } from "../Tools/GameResMgr";
|
|
import PlayData from "../Tools/PlayData";
|
|
import AdsApiMgr from "../Tools/Sdk/ads/AdsApiMgr";
|
|
import Utils from "../Tools/Utils";
|
|
//import gameNetWorkControl from "../Tools/gameNetWorkControl";
|
|
import gameStorage from "../Tools/gameStorage";
|
|
import TopTiLiSc from "./LevelUpGame/TopTiLiSc";
|
|
import setPanelSc from "./LevelUpGame/setPanelSc";
|
|
|
|
|
|
const {ccclass, property} = cc._decorator;
|
|
|
|
@ccclass
|
|
export default class StartSceneSc extends cc.Component {
|
|
|
|
@property(cc.Node)
|
|
uinode:cc.Node = null
|
|
|
|
@property(cc.Node)
|
|
cebianbtn:cc.Node = null
|
|
|
|
@property(cc.Node)
|
|
addicon:cc.Node = null
|
|
|
|
onLoad () {
|
|
AudioManager.playMusic(soundName.bgSound0)
|
|
|
|
if(PlayData.Instance.enterStartSceneIndex == 0){
|
|
cc.game.on('opencebian', ()=>{
|
|
let newnode = cc.instantiate(GameResMgr.Instance.uiPre[uiPreName.cebianPanel])
|
|
newnode.parent = this.node
|
|
})
|
|
|
|
cc.director.on('updateengry', ()=>{
|
|
if(cc.find('Canvas/uiNode/top_tili')){
|
|
let sc = cc.find('Canvas/uiNode/top_tili').getComponent(TopTiLiSc)
|
|
sc.setTiLi()
|
|
gameStorage.Instance.setoffLineTime()
|
|
}
|
|
})
|
|
|
|
if(gameStorage.Instance.getoffLineTime() > 0){
|
|
let nowtime = Number(new Date().getTime())
|
|
let offtime = gameStorage.Instance.getoffLineTime()
|
|
let _chatime = Math.floor((nowtime - offtime)/1000)
|
|
let addtili = Math.floor(_chatime/Define.eneryTime)
|
|
if(gameStorage.Instance.getEnergy() < Define.maxEnery){
|
|
if((addtili+gameStorage.Instance.getEnergy()) >= Define.maxEnery){
|
|
gameStorage.Instance.setEnergy(Define.maxEnery)
|
|
cc.director.emit('updateengry')
|
|
}else{
|
|
if(addtili+gameStorage.Instance.getEnergy() < 1){
|
|
gameStorage.Instance.setEnergy(1)
|
|
}else{
|
|
gameStorage.Instance.setEnergy(addtili+gameStorage.Instance.getEnergy())
|
|
}
|
|
cc.director.emit('updateengry')
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
start () {
|
|
PlayData.Instance.enterStartSceneIndex ++
|
|
//this.goldstr.string = ''
|
|
this.initUi()
|
|
}
|
|
|
|
/**
|
|
* 初始化ui
|
|
*/
|
|
initUi(){
|
|
let newtili = cc.instantiate(GameResMgr.Instance.uiPre[uiPreName.top_tili])
|
|
newtili.parent = this.uinode
|
|
|
|
if(cc.sys.platform == cc.sys.BYTEDANCE_GAME){
|
|
this.addicon.active = !1
|
|
//@ts-ignore
|
|
const sysinfo = tt.getSystemInfoSync()
|
|
const sdkversion = sysinfo.SDKVersion
|
|
let appname = sysinfo.appName
|
|
let appVersion = sysinfo.version
|
|
var self= this
|
|
//console.log('系统信息', sysinfo)
|
|
//console.log('打印判断sdk', Utils.compareVersion(sdkversion, '2.92.0.0'))
|
|
if (Utils.compareVersion(sdkversion, '2.92.0.0') >= 0 && (appname == 'Douyin' || appname == 'douyin_lite' || appname == 'devtools')){
|
|
this.cebianbtn.active = !0
|
|
}else{
|
|
this.cebianbtn.active = !1
|
|
}
|
|
|
|
if (Utils.compareVersion(sdkversion, '2.70.0') >= 0
|
|
&& (appname == 'Douyin' || appname == 'douyin_lite')
|
|
&& Utils.compareVersion(appVersion, '23.2.0') >= 0) {
|
|
cc.find('uiNode/paihang', this.node).active = !0
|
|
}else{
|
|
cc.find('uiNode/paihang', this.node).active = !1
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 开始按钮点击
|
|
*/
|
|
startBtnClick(){
|
|
if(gameStorage.Instance.getEnergy()>0){
|
|
|
|
// if(PlayData.Instance.enterStartSceneIndex > 1){
|
|
// let randshu = Utils.getRangeRandom(1,2)
|
|
// if(randshu == 1 && gameNetWorkControl.Instance.getVideoState()){
|
|
// AdsApiMgr.Instance.motivational_Video_Show(()=>{
|
|
// gameStorage.Instance.setEnergy(gameStorage.Instance.getEnergy()+2)
|
|
// AdsApiMgr.Instance.showToast('体力奖励已发放')
|
|
// }, ()=>{})
|
|
// }
|
|
// }
|
|
|
|
gameStorage.Instance.setoffLineTime()
|
|
gameStorage.Instance.setEnergy(gameStorage.Instance.getEnergy()-1)
|
|
PlayData.Instance.gameType = GameType.normal
|
|
cc.director.loadScene('LevelUpGameScene')
|
|
}else{ //体力不足
|
|
gameStorage.Instance.setoffLineTime()
|
|
let newnode = cc.instantiate(GameResMgr.Instance.uiPre[uiPreName.addEnery])
|
|
newnode.parent = cc.director.getScene()
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 挑战模式
|
|
*/
|
|
challengeBtnClick(){
|
|
gameStorage.Instance.setoffLineTime()
|
|
let newnode = cc.instantiate(GameResMgr.Instance.uiPre[uiPreName.challengeCheckOutPanel])
|
|
newnode.parent = this.node
|
|
|
|
// PlayData.Instance.gameType = GameType.challenge
|
|
// cc.director.loadScene('LevelUpGameScene')
|
|
}
|
|
|
|
/**
|
|
* 按钮点击事件
|
|
* @param t
|
|
* @param e
|
|
*/
|
|
uiBtnClickCallBack(t, e){
|
|
if(e == 'set'){
|
|
let newnode = cc.instantiate(GameResMgr.Instance.uiPre[uiPreName.setPanel])
|
|
newnode.parent = this.uinode
|
|
let sc = newnode.getComponent(setPanelSc)
|
|
sc.showType(0)
|
|
}else if(e == 'rank'){
|
|
AdsApiMgr.Instance.getImRankList_Num()
|
|
}else if(e == 'share'){
|
|
AdsApiMgr.Instance.shareGameToFriend(()=>{})
|
|
}else if(e == 'cebian'){
|
|
let newnode = cc.instantiate(GameResMgr.Instance.uiPre[uiPreName.cebianPanel])
|
|
newnode.parent = this.node
|
|
}else if(e == 'addicon'){
|
|
if(cc.sys.platform == cc.sys.BYTEDANCE_GAME){
|
|
//@ts-ignore
|
|
const sysinfo = tt.getSystemInfoSync()
|
|
let appname = sysinfo.appName
|
|
if (appname == 'Douyin' || appname == 'douyin_lite') {
|
|
console.log('触发添加桌面')
|
|
AdsApiMgr.Instance.addShortcut(()=>{}, ()=>{})
|
|
}else{
|
|
let newnode = cc.instantiate(GameResMgr.Instance.uiPre[uiPreName.addiconTips])
|
|
newnode.parent = cc.director.getScene()
|
|
}
|
|
}else{
|
|
let newnode = cc.instantiate(GameResMgr.Instance.uiPre[uiPreName.addiconTips])
|
|
newnode.parent = cc.director.getScene()
|
|
}
|
|
}
|
|
}
|
|
// update (dt) {}
|
|
}
|