123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- import { _decorator, sys } from 'cc';
- import { user_car_list, user_free_ads_data, userData } from '../data';
- import { config } from '../config';
- import { tools } from '../tools';
- import { GameManager } from '../GameManager';
- import { dataManager } from './dataManager';
- const { ccclass, property } = _decorator;
- @ccclass('userDataManager')
- export class userDataManager {
- public static user_data:userData = null
- public static user_car_list:user_car_list = null
- public static free_ads_data:user_free_ads_data = null
- // 今天分享相关
- public static isTodayCanShare():boolean {
- if(userDataManager.user_data.share_number>=dataManager.getTodayShareFreeTotalCount()) {
- return false
- }
- return true
- }
- public static addTodayShareNumber() {
- if(userDataManager.user_data.share_number>=dataManager.getTodayShareFreeTotalCount()) {
- return
- }
- userDataManager.user_data.share_number+=1
- console.log('同步接口 今天分享数:',userDataManager.user_data.share_number)
- let opt = {'share_number':userDataManager.user_data.share_number}
- GameManager.requestSyncNumber(opt)
- }
- // 每天免费玩游戏
- public static isTodayCanFreePlayGame():boolean {
- if(userDataManager.user_data.free_game_number>=dataManager.getTodayGameFreeTotalCount()) {
- return false
- }
- return true
- }
- public static addTodayPlayGameNumber() {
- if(userDataManager.user_data.free_game_number>=dataManager.getTodayGameFreeTotalCount()) {
- return
- }
- userDataManager.user_data.free_game_number+=1
- // console.log('同步接口 今天玩游戏数:',userDataManager.user_data.free_game_number)
- let opt = {'free_game_number':userDataManager.user_data.free_game_number}
- GameManager.requestSyncNumber(opt)
- }
- // 用户免广告相关
- public static getUserIsFreeAds():boolean {
- return userDataManager.free_ads_data.is_free
- }
- public static saveUserFreeAdsData() {
- let data = JSON.stringify(userDataManager.free_ads_data)
- // console.log('保存-----用户免费广告',data)
- sys.localStorage.setItem(config.LOCAL_STORAGE.USER_FREE_ADS_DATA, data)
- }
- public static clearUserFreeAdsData() {
- sys.localStorage.removeItem(config.LOCAL_STORAGE.USER_FREE_ADS_DATA)
- }
- public static getUserFreeAdsData():user_free_ads_data {
- if(userDataManager.free_ads_data!=null) {
- // console.log('获取--静态---用户免费广告',userDataManager.free_ads_data)
- return userDataManager.free_ads_data
- }
- let str = sys.localStorage.getItem(config.LOCAL_STORAGE.USER_FREE_ADS_DATA)
- // console.log('str=',str)
- if(str==undefined||str==""||str==null||str=='null'){
- userDataManager.free_ads_data = new user_free_ads_data
- } else {
- let nd:user_free_ads_data = JSON.parse(str)
- userDataManager.free_ads_data = nd
- }
- // console.log('获取--解析---用户免费广告',userDataManager.free_ads_data)
- return userDataManager.free_ads_data
- }
- public static addUserFreeAdsSeconds(add_seconds:number) {
- let free_ads_data = userDataManager.getUserFreeAdsData()
- if(free_ads_data.start_date_time<=0) {
- let cur_time = new Date().getTime()
- free_ads_data.start_date_time = cur_time
- }
- free_ads_data.start_date_time = free_ads_data.start_date_time + add_seconds * 1000
- userDataManager.saveUserFreeAdsData()
- }
-
- public static getUserFreeAdsSeconds() {
- let free_ads_data = userDataManager.getUserFreeAdsData()
- let old_time = free_ads_data.start_date_time
- // console.log('old_time=',old_time)
- if(old_time<=0) {
- free_ads_data.is_free = false
- free_ads_data.is_look_video_infinite_count_reward = false
- return old_time
- }
-
- let free_seconds = free_ads_data.is_look_video_infinite_count_reward ? tools.sys_config.free_game_time : 0
- let cur_time = new Date()
- let time_diff = cur_time.getTime() - old_time
- let seconds = Math.floor(time_diff / 1000);
- let shengyu_seconds = free_seconds - seconds
- // console.log('上次时间距离当前秒:',seconds,'shengyu_seconds=',shengyu_seconds)
- if(shengyu_seconds<=0) {
- free_ads_data.is_free = false
- return 0
- }
- free_ads_data.is_free = true
- return shengyu_seconds
- }
- }
|