12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- import { ReveData } from "../util/CHttp";
- import CHttpEvent from "../util/CHttpEvent";
- import Main from "./Main";
- const {ccclass, property} = cc._decorator;
- @ccclass
- export default class ViewObject extends cc.Component implements CHttpEvent {
- public main:Main
- /**
- * 当前界面从那个界面创建过来
- * 用于返回上个界面
- */
- public prev:ViewObject;
- /**
- * 关闭回调
- */
- public closeCallback:()=>void;
- public setCloseCallback(closeCallback:()=>void){
- this.closeCallback = closeCallback
- }
- /**
- *
- * @param prev 父界面
- */
- public show(prev?:ViewObject){
- if(prev){
- this.prev = prev;
- this.prev.__close();
- }
- this.main.viewManage.popView(this.node);
- if(this.main && this.main.gameHttp){
- this.main.gameHttp.pushEvent(this);
- }
- }
- /**
- * 只是关闭界面,不销毁
- */
- public __close(){
- this.node.removeFromParent();
- if(this.closeCallback){
- this.closeCallback()
- }
- }
- /**
- * 退出销毁界面
- */
- public exitDistroy(){
- if(this.main && this.main.gameHttp){
- this.main.gameHttp.popEvent(this);
- }
- this.node.destroy();
- if(this.prev){
- //如果存在父界面将其显示出来
- this.prev.show();
- }
- if(this.closeCallback){
- this.closeCallback()
- }
- }
- /**
- * 销毁所有父界面
- */
- public __distroyAll(){
- if(this.main && this.main.gameHttp){
- this.main.gameHttp.popEvent(this);
- }
- if(this.prev && this.prev.isValid){
- this.prev.__distroyAll();
- }
- if(this.node.isValid){
- this.node.destroy();
- }
- if(this.closeCallback){
- this.closeCallback()
- }
- }
- /**
- * 监听网络
- * @param reveData
- */
- public httpEvent(reveData:ReveData){
- // cc.log('viewObject reve : ',this);
- }
-
- }
|