游戏框架搭建(一)

发布于 2020-05-15  22 次阅读


前言

为什么要用框架
框架具有约束性和支撑性。
框架:提供一个架构(文件结构、约定等等),你必须遵守它,只要你遵守,那剩下的就全部处理通用需求了。
学习了凉鞋这块,需要做的就是整理,目的就是减少发开时间,提高办公效率,记录一下。

正文

这篇主要做导出工具和一些常用代码库的分离,代码库是需要长期积累的。

一键导出UnityPackage

有了这个功能之后,整理完只需要一键生成新的工具包,供下次开发使用,非常方便

using UnityEngine;
#if UNITY_EDITOR
using UnityEditor;
#endif
using System;
namespace SQFramework
{
    public class ExportUnityPackage : MonoBehaviour
    {
#if UNITY_EDITOR
        [MenuItem("SQFramework/导出UnityPackage")]
        private static void ExportMenuClicked()
        {
            var assetPathName = "Assets/PanFrame"; 
            var fileName = "PanFrame_" + DateTime.Now.ToString("yyyyMMdd_hh") + ".unitypackage";
            AssetDatabase.ExportPackage(assetPathName,fileName,ExportPackageOptions.Recurse); 
            if (DirFileHelper.IsExistsFile(fileName)) //file直接是跟assets同级
            {   //拼接
                // Application.OpenURL("file://"+ Path.Combine(Application.dataPath, "../"));
                Application.OpenURL(@"");
                Debug.Log("///导出成功"); 
            }
            else
            {
                Debug.LogError("///导出失败");
            } 
        } 
#endif
    }
}

从知识库到代码库

这里是要把积累的知识库整理成代码库。
知识库的整理得有一些规范,比如文件夹开头用数字,容易区分(后期可能会合并)。
如下图:

  • namespace 命名空间
  • partial 关键字
  • this 扩展关键字
  • 每一个脚本都有一个简单Example是一个非常好的习惯。
  • 使得我更清晰。

不积跬步,无以至千里;不积小流,无以成江海。