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.
		
		
		
		
		
			
		
			
				
					
					
						
							130 lines
						
					
					
						
							4.6 KiB
						
					
					
				
			
		
		
	
	
							130 lines
						
					
					
						
							4.6 KiB
						
					
					
				| // 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 TaskManager from "../JuQingChat/TaskManager";
 | |
| 
 | |
| const { ccclass, property } = cc._decorator;
 | |
| 
 | |
| @ccclass
 | |
| export default class selectButtons extends cc.Component {
 | |
| 
 | |
|     @property(cc.Node)
 | |
|     button: cc.Node = null;
 | |
|     @property(cc.Node)
 | |
|     bigbutton: cc.Node = null;
 | |
| 
 | |
|     @property(cc.Node)
 | |
|     buttonparent: cc.Node = null;
 | |
|     // @property
 | |
|     // text: string = 'hello';
 | |
|     @property(cc.Label)
 | |
|     title: cc.Label = null;
 | |
| 
 | |
| 
 | |
|     m_callfunc = []
 | |
|     m_isvideo = []
 | |
|     // LIFE-CYCLE CALLBACKS:
 | |
| 
 | |
|     // onLoad () {}
 | |
| 
 | |
|     start() {
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * 
 | |
|      * @param strs 文字提示数组
 | |
|      * @param actives 按钮显示数组
 | |
|      * @param funcs 回调数组
 | |
|      * @param isvideo 是否显示播放数组
 | |
|      */
 | |
|     init(strs: string[], actives: boolean[], funcs: Function[], isvideo: boolean[]) {
 | |
|         this.button.active = false
 | |
|         this.bigbutton.active = false
 | |
|         this.m_callfunc = funcs
 | |
|         this.m_isvideo = isvideo
 | |
|         let maxsize = 0
 | |
|         for (let i = 0; i < strs.length; i++) {
 | |
|             if (actives[i]) {
 | |
|                 let kuang = cc.instantiate(this.button)
 | |
|                 kuang.active = true
 | |
|                 let button = kuang.getChildByName("blueBtn")
 | |
|                 button.attr({ buttonIndex: i })
 | |
|                 this.buttonparent.addChild(kuang)
 | |
|                 let lab = button.getChildByName("lab").getComponent(cc.Label)
 | |
|                 lab.string = strs[i]
 | |
|                 lab["_forceUpdateRenderData"](true);
 | |
|                 let labsize = lab.node.getContentSize()
 | |
|                 let btnsizewidth = labsize.width + 80
 | |
|                 if (maxsize < btnsizewidth) {
 | |
|                     maxsize = btnsizewidth
 | |
|                 }
 | |
|                 button.setContentSize(cc.size(btnsizewidth, button.getContentSize().height))
 | |
|                 button.getChildByName("播放").getComponent(cc.Widget).updateAlignment()
 | |
|                 if (!isvideo[i]) {
 | |
|                     button.getChildByName("播放").active = false
 | |
|                     lab.node.setPosition(cc.v3(0, 0, 0))
 | |
|                 }
 | |
|                 if (i % 2 == 1) {
 | |
|                     button.getChildByName("red").active = true
 | |
|                 }
 | |
|             } else {
 | |
|                 this.bigbutton.active = true
 | |
|                 this.bigbutton.attr({ buttonIndex: i })
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         for (let i = 0; i < this.buttonparent.children.length; i++) {
 | |
|             let button = this.buttonparent.children[i].getChildByName("blueBtn")
 | |
|             button.setContentSize(cc.size(maxsize, button.getContentSize().height))
 | |
|             button.getChildByName("播放").getComponent(cc.Widget).updateAlignment()
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     setTitle(str) {
 | |
|         this.title.string = str
 | |
|         this.title.node.active = true
 | |
|         this.buttonparent.getComponent(cc.Layout).updateLayout()
 | |
|         this.title.node.setPosition(cc.v3(this.title.node.position.x, this.buttonparent.position.y + this.buttonparent.height + 50, 0))
 | |
|     }
 | |
| 
 | |
|     onTouch(event) {
 | |
|         let node = event.target
 | |
|         let index = node.buttonIndex
 | |
|         if (this.m_isvideo[index]) {
 | |
|             let tab = {
 | |
|                 onClose: (finish) => {
 | |
|                     if (finish) {
 | |
|                         User.setShowAdNum(User.getShowAdNum() + 1)
 | |
|                         Common5.ReportDY("inLevel", `任务${TaskManager.getCurUnLockMainTaskId()}-AD-剧情选择按钮观看视频`)
 | |
|                         // Common5.ReportDY("inLevel", '选择框-AD-剧情选择框看视频');
 | |
|                         if (this.m_callfunc[index]) {
 | |
|                             this.node.removeFromParent()
 | |
|                             this.node.destroy()
 | |
|                             this.m_callfunc[index]()
 | |
|                         }
 | |
|                     }
 | |
|                     else {
 | |
|                         Common5.showTips_custom("广告未观看完");
 | |
|                     }
 | |
|                 }, onFailed: () => {
 | |
| 
 | |
|                 }
 | |
|             }
 | |
|             AppPlatform.playVideo_custom(tab)
 | |
|         } else {
 | |
|             if (this.m_callfunc[index]) {
 | |
|                 this.node.removeFromParent()
 | |
|                 this.node.destroy()
 | |
|                 this.m_callfunc[index]()
 | |
|             }
 | |
|         }
 | |
|     }
 | |
|     // update (dt) {}
 | |
| }
 | |
| 
 |