Преглед на файлове

Merge branch 'master' of http://git.mokasz.com/zouyong/mk_framework

薛鸿潇 преди 5 години
родител
ревизия
1f03a01968

+ 0 - 0
mk_framework/assets/resources/prefab.meta → mk_framework/assets/resources/gamePrefab.meta


+ 0 - 0
mk_framework/assets/resources/prefab/uiItem.meta → mk_framework/assets/resources/gamePrefab/uiItem.meta


+ 0 - 0
mk_framework/assets/resources/prefab/uiItem/1.ts → mk_framework/assets/resources/gamePrefab/uiItem/1.ts


+ 0 - 0
mk_framework/assets/resources/prefab/uiItem/1.ts.meta → mk_framework/assets/resources/gamePrefab/uiItem/1.ts.meta


+ 0 - 0
mk_framework/assets/resources/prefab/uiPanel.meta → mk_framework/assets/resources/gamePrefab/uiPanel.meta


+ 0 - 0
mk_framework/assets/resources/prefab/uiPanel/login.prefab → mk_framework/assets/resources/module/login/login.prefab


+ 0 - 0
mk_framework/assets/resources/prefab/uiPanel/login.prefab.meta → mk_framework/assets/resources/module/login/login.prefab.meta


+ 2 - 2
mk_framework/assets/script/Main.ts

@@ -1,4 +1,4 @@
-import UISystem from "./mk/system/UISystem";
+import UISystem, { PanelType } from "./mk/system/UISystem";
 
 
 const { ccclass, property } = cc._decorator;
 const { ccclass, property } = cc._decorator;
 
 
@@ -11,6 +11,6 @@ export default class Main extends cc.Component {
 
 
     start() {
     start() {
         console.log("init");
         console.log("init");
-        mk.ui.openPanel("login");
+        mk.ui.openPanel("login",PanelType.Module);
     }
     }
 }
 }

+ 28 - 3
mk_framework/assets/script/mk/system/UISystem.ts

@@ -10,7 +10,9 @@ export default class UISystem extends cc.Component {
     /** panel父节点 */
     /** panel父节点 */
     private panelParent: cc.Node = null;
     private panelParent: cc.Node = null;
     /** 界面预制体路径 */
     /** 界面预制体路径 */
-    private panelPrefanbUrl: string = './prefab/uiPanel/'
+    private gamePanelbUrl: string = './gamePrefab/uiPanel';
+    /** 模块界面预制体路径 */
+    private modulPanelUrl: string = './module';
     /** 是否正在打开界面 */
     /** 是否正在打开界面 */
     private isPanelOpening: boolean = false;
     private isPanelOpening: boolean = false;
     /** 是否界面正在关闭 */
     /** 是否界面正在关闭 */
@@ -33,9 +35,12 @@ export default class UISystem extends cc.Component {
     /**
     /**
      * 打开panel界面
      * 打开panel界面
      * @param panelName  界面名称
      * @param panelName  界面名称
+     * @param panelType  界面类型
      * @param openAction 打开之后的操(需不需要关闭其他界面)
      * @param openAction 打开之后的操(需不需要关闭其他界面)
      */
      */
-    openPanel(panelName: string, openAction: OpenActionType = OpenActionType.normal): Promise<any> {
+    openPanel(panelName: string, panelType: PanelType, openAction: OpenActionType = OpenActionType.normal): Promise<any> {
+
+        let panelUrl = this.getUrlByPanelType(panelName, panelType);
 
 
         let self = this;
         let self = this;
         if (self.isPanelOpening || self.getCurOnPanel(panelName)) {
         if (self.isPanelOpening || self.getCurOnPanel(panelName)) {
@@ -46,7 +51,7 @@ export default class UISystem extends cc.Component {
 
 
         return new Promise((resolve, reject) => {
         return new Promise((resolve, reject) => {
 
 
-            mk.loader.load(`${self.panelPrefanbUrl}` + panelName, cc.Prefab)
+            mk.loader.load(`${panelUrl}`, cc.Prefab)
                 .then((prefab) => {
                 .then((prefab) => {
 
 
                     self.isPanelOpening = false;
                     self.isPanelOpening = false;
@@ -127,6 +132,24 @@ export default class UISystem extends cc.Component {
         delete this.curOnPanelDic[panelName];
         delete this.curOnPanelDic[panelName];
         this.isPanelClosing = false;
         this.isPanelClosing = false;
     }
     }
+
+    /**
+     * 根据界面类型获取url
+     * @param panelName 界面名称
+     * @param panelType 界面类型
+     */
+    getUrlByPanelType(pannelName: string, panelType: PanelType): string {
+        let url: string = "";
+        switch (panelType) {
+            case PanelType.Game:
+                url = `${this.gamePanelbUrl}/${pannelName}`
+                break;
+            case PanelType.Module:
+                url = `${this.modulPanelUrl}/${pannelName}/${pannelName}`
+                break;
+        }
+        return url;
+    }
 }
 }
 
 
 /** 界面打开操作 */
 /** 界面打开操作 */
@@ -141,6 +164,8 @@ export enum OpenActionType {
 
 
 /** */
 /** */
 export enum PanelType {
 export enum PanelType {
+    /**游戏界面 */
     Game = 1,
     Game = 1,
+    /**模块界面 */
     Module = 2,
     Module = 2,
 }
 }