future 1 éve
szülő
commit
8ccae68926

+ 1 - 0
assets/script/data.ts

@@ -107,6 +107,7 @@ export class user_free_ads_data{
     public start_date_time:number = 0
     public seconds:number = 0
     public is_free:boolean = false
+    public is_look_video_infinite_count_reward:boolean = false //是否看广告的无限次数奖励
 }
 
 export class car_item_data{

+ 17 - 1
assets/script/manager/userDataManager.ts

@@ -21,6 +21,10 @@ export class userDataManager  {
         sys.localStorage.setItem(config.USER_FREE_ADS_DATA, data)
     }
 
+    public static clearUserFreeAdsData() {
+        sys.localStorage.removeItem(config.USER_FREE_ADS_DATA)
+    }
+
     public static getUserFreeAdsData():user_free_ads_data {
         if(userDataManager.user_free_ads_data!=null) {
             // console.log('获取--静态---用户免费广告',userDataManager.user_free_ads_data)
@@ -33,6 +37,7 @@ export class userDataManager  {
             data.start_date_time = 0
             data.seconds = 0
             data.is_free = false
+            data.is_look_video_infinite_count_reward = false
         } else {
             data = JSON.parse(str)
         }
@@ -40,6 +45,16 @@ export class userDataManager  {
         // console.log('获取--解析---用户免费广告',userDataManager.user_free_ads_data)
         return 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()
@@ -48,10 +63,11 @@ export class userDataManager  {
         if(old_time<=0) {
             free_ads_data.is_free = false
             free_ads_data.look_video_count = 0
+            free_ads_data.is_look_video_infinite_count_reward = false
             return old_time
         }
         
-        let free_seconds = tools.sys_config.free_game_time //3600 * 6
+        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);

+ 7 - 0
assets/script/ui/home/home_bottom.ts

@@ -120,10 +120,17 @@ export class home_bottom extends Component {
                 userDataManager.user_data.tt_sidebar_reward_status = d_content.status
                 this.tt_btn_gift.active = false
                 this.tt_btn_gift.getComponent(Animation).stop()
+                this.ttSidebarReward()
                 r.close()
             })
         })
     }
+
+    private ttSidebarReward() {
+        let add_seconds = 60*30 //30分钟
+        userDataManager.addUserFreeAdsSeconds(add_seconds)
+        this.reloadCountdown()
+    }
 }
 
 

+ 4 - 3
assets/script/ui/home/home_bottom_countdown.ts

@@ -23,9 +23,10 @@ export class home_bottom_countdown extends Component {
         this.schedule(()=>{
             this.seconds --
             if(this.seconds<=0) {
-                let c_free_ads_data = userDataManager.getUserFreeAdsData()
-                c_free_ads_data.is_free = false
-                c_free_ads_data.look_video_count = 0
+                let free_ads_data = userDataManager.getUserFreeAdsData()
+                free_ads_data.is_free = false
+                free_ads_data.look_video_count = 0
+                free_ads_data.is_look_video_infinite_count_reward = false
                 userDataManager.saveUserFreeAdsData()
                 this.unscheduleAllCallbacks()
                 this.node.active = false

+ 1 - 0
assets/script/ui/unLock_view.ts

@@ -58,6 +58,7 @@ export class unLock_view extends base_ui {
                     let cur_time = new Date().getTime()
                     free_ads_data.start_date_time = cur_time
                     free_ads_data.look_video_count = 0
+                    free_ads_data.is_look_video_infinite_count_reward = true
                     userDataManager.saveUserFreeAdsData()
                     if(this.m_lookVideo_finish_cb) {
                         this.m_lookVideo_finish_cb(this)