Skip to content

Commit

Permalink
fixed lost MacOSX preprocessor tag issue
Browse files Browse the repository at this point in the history
  • Loading branch information
MichaelO committed Nov 16, 2022
1 parent 1a2cd17 commit 31022c5
Show file tree
Hide file tree
Showing 8 changed files with 48 additions and 50 deletions.
Binary file modified Assets/OxGFrame/AssetLoader/Example/BundleDemo/Offline_Mode.zip
Binary file not shown.
Binary file modified Assets/OxGFrame/AssetLoader/Example/BundleDemo/Patch_Mode.zip
Binary file not shown.
61 changes: 29 additions & 32 deletions Assets/OxGFrame/AssetLoader/Scripts/Runtime/Bundle/BundleConfig.cs
Original file line number Diff line number Diff line change
Expand Up @@ -130,25 +130,26 @@ public static string[] cryptogramArgs

/**
* url_cfg format following
* bundle_ip 127.0.0.1
* bundle_ip <IP>
* store_link <URL>
* # => comment
*/

// 佈署配置檔中的 KEY
public const string BUNDLE_IP = "bundle_ip";
public const string GOOGLE_STORE = "google_store";
public const string APPLE_STORE = "apple_store";
public const string STORE_LINE = "store_link";

// 佈署配置檔
public const string bundleUrlFilePathName = "burlcfg.txt";

// Bundle 平台路徑
public const string bundleDir = "/AssetBundles"; // Build 目錄
public const string exportDir = "/ExportBundles"; // Export 目錄
public const string winDir = "/win";
public const string androidDir = "/android";
public const string iosDir = "/ios";
public const string h5Dir = "/h5";
public const string winDir = "/win"; // Windows
public const string osxDir = "/osx"; // Mac OSX
public const string androidDir = "/android"; // Android
public const string iosDir = "/ios"; // iOS
public const string h5Dir = "/h5"; // WebGL
#endregion

public static void InitCryptogram(string cryptogram)
Expand Down Expand Up @@ -180,12 +181,7 @@ public static async UniTask<string> GetValueFromUrlCfg(string key)

public static async UniTask<string> GetAppStoreLink()
{
#if UNITY_ANDROID
return await GetValueFromUrlCfg(GOOGLE_STORE);
#elif UNITY_IPHONE
return await GetValueFromUrlCfg(APPLE_STORE);
#endif
return string.Empty;
return await GetValueFromUrlCfg(STORE_LINE);
}

/// <summary>
Expand All @@ -198,6 +194,10 @@ public static string GetBuildBundlePath()
return Path.Combine(Application.dataPath, $"..{bundleDir}{winDir}");
#endif

#if UNITY_STANDALONE_OSX
return Path.Combine(Application.dataPath, $"..{bundleDir}{osxDir}");
#endif

#if UNITY_ANDROID
return Path.Combine(Application.dataPath, $"..{bundleDir}{androidDir}");
#endif
Expand All @@ -217,20 +217,17 @@ public static string GetExportBundlePath()
{
#if UNITY_STANDALONE_WIN
return Path.Combine(Application.dataPath, $"..{exportDir}{winDir}");
#endif

#if UNITY_ANDROID
#elif UNITY_STANDALONE_OSX
return Path.Combine(Application.dataPath, $"..{exportDir}{osxDir}");
#elif UNITY_ANDROID
return Path.Combine(Application.dataPath, $"..{exportDir}{androidDir}");
#endif

#if UNITY_IOS
#elif UNITY_IOS
return Path.Combine(Application.dataPath , $"..{exportDir}{iosDir}");
#endif

#if UNITY_WEBGL
#elif UNITY_WEBGL
return Path.Combine(Application.dataPath, $"..{exportDir}{h5Dir}");
#else
return string.Empty;
#endif

throw new System.Exception("ERROR Export PATH !!!");
}

Expand Down Expand Up @@ -272,19 +269,19 @@ public static async UniTask<string> GetServerBundleUrl()
{
#if UNITY_STANDALONE_WIN
return await GetValueFromUrlCfg(BUNDLE_IP) + $"{exportDir}{winDir}";
#endif

#if UNITY_ANDROID
#elif UNITY_STANDALONE_OSX
return await GetValueFromUrlCfg(BUNDLE_IP) + $"{exportDir}{osxDir}";
#elif UNITY_ANDROID
return await GetValueFromUrlCfg(BUNDLE_IP) + $"{exportDir}{androidDir}";
#endif

#if UNITY_IOS
#elif UNITY_IOS
return await GetValueFromUrlCfg(BUNDLE_IP) + $"{exportDir}{iosDir}";
#endif

#if UNITY_WEBGL
#elif UNITY_WEBGL
return await GetValueFromUrlCfg(BUNDLE_IP) + $"{exportDir}{h5Dir}";
#else
return string.Empty;
#endif

throw new System.Exception("ERROR Server URL !!!");
}

/// <summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -599,7 +599,7 @@ public async UniTask<BundlePack> LoadBundlePack(string bundleName, Progression p
}
#endif

#if UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL
#if UNITY_STANDALONE_OSX || UNITY_ANDROID || UNITY_IOS || UNITY_WEBGL
// 使用[文件流]加載方式, 只能存在於Persistent的路徑 (因為 StreamingAssets 只使用 UnityWebRequest 方式請求)
if (BundleConfig.bundleStreamMode && !HasInStreamingAssets(bundleName))
{
Expand Down
4 changes: 4 additions & 0 deletions Assets/OxGFrame/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# CHANGELOG

## [1.8.0] - 2022-11-16
- Added MacOSX preprocessor tag in BundleConfig and CacheBundle (test passed).
- Modified burlcfg.txt store key name => unified key name is "store_link".

## [1.7.1] - 2022-11-14
- Fixed BundleDistributor offline mode bug issue. When local bcfg already exists will copy bcfg from built-in to override it without update.

Expand Down
2 changes: 1 addition & 1 deletion Assets/OxGFrame/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "com.michaelo.oxgframe",
"displayName": "OxGFrame",
"description": "The OxGFrame is a lightweight framework based on Unity for accelerating game development. Supports multi-platform Win, Android, iOS, WebGL.",
"version": "1.7.1",
"version": "1.8.0",
"unity": "2021.3",
"license": "MIT",
"dependencies": {},
Expand Down
6 changes: 2 additions & 4 deletions Assets/StreamingAssets/burlcfg.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
#bundle_ip = Server IP
#google_store = GooglePlay Store Link
#apple_store = Apple Store Link
#store_link = GooglePlay Store Link (https://play.google.com/store/apps/details?id=YOUR_ID) or Apple Store Link (itms-apps://itunes.apple.com/app/idYOUR_ID)

bundle_ip 192.168.1.141
google_store market://details?id=YOUR_ID
apple_store itms-apps://itunes.apple.com/app/idYOUR_ID
store_link https://play.google.com/store/apps/details?id=YOUR_ID
23 changes: 11 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

## 基本介紹

OxGFrame 是基於 Unity 用於加快遊戲開發的輕量級框架, 並且使用 UniTask 進行異步處理,從資源加載 (AssetLoader)、遊戲介面 (UIFrame)、遊戲場景 (GSFrame)、Unity場景 (USFrame)、遊戲物件 (EPFrame)、影音 (MediaFrame)、遊戲整合 (GSIFrame)、網路 (NetFrame)、事件註冊 (EventCenter)、API註冊 (APICenter)、Http.Acax (仿 Ajax 概念)等都進行模組化設計,能夠簡單入手與有效的加快開發效率,並且支持多平台 Win、Android、iOS,WebGL。
OxGFrame 是基於 Unity 用於加快遊戲開發的輕量級框架, 並且使用 UniTask 進行異步處理,從資源加載 (AssetLoader)、遊戲介面 (UIFrame)、遊戲場景 (GSFrame)、Unity場景 (USFrame)、遊戲物件 (EPFrame)、影音 (MediaFrame)、遊戲整合 (GSIFrame)、網路 (NetFrame)、事件註冊 (EventCenter)、API註冊 (APICenter)、Http.Acax (仿 Ajax 概念)等都進行模組化設計,能夠簡單入手與有效的加快開發效率,並且支持多平台 Win、OSX、Android、iOS,WebGL。

---

Expand Down Expand Up @@ -65,10 +65,11 @@ OxGFrame 是基於 Unity 用於加快遊戲開發的輕量級框架, 並且使
- [Bundle Name] 選擇 [Md5 For Bundle Name] (取決於 BundleSetup 的 Load Options 是否有勾選 [Read Md5 Bundle Name],預設為 true)
- 勾選 [Without Manifest] (non-use)
2. 完成 AssetBundle 的打包後,選擇 Unity 上列 BundleDistributor 中的 [Step 3. Bundle Config Generator] 選擇 Operation Type 為 [Export And Config From Source Folder] (製作 Patch 的配置檔),瀏覽選擇剛剛完成打包 AssetBundle 的來源路徑資料夾,再選擇要輸出的路徑。
3. 完成後,先至 Server 創建 ExportBundles 的資料夾,裡面依照平台創建 win, android, ios, h5,準備好 Server 的資料夾後,再將剛剛輸出帶有 ProductName 的資料夾直接依照平台歸納上傳就好。
3. 完成後,先至 Server 創建 ExportBundles 的資料夾,裡面依照平台創建 win, osx, android, ios, h5,準備好 Server 的資料夾後,再將剛剛輸出帶有 ProductName 的資料夾直接依照平台歸納上傳就好。

**注意 Server 路徑名稱**
- ExportBundles/win/productName
- ExportBundles/osx/productName
- ExportBundles/android/productName
- ExportBundles/ios/productName
- ExportBundles/h5/productName
Expand All @@ -90,16 +91,14 @@ OxGFrame 是基於 Unity 用於加快遊戲開發的輕量級框架, 並且使

#### Bundle [burlcfg] (Bundle URL Config) 格式

建立一個名為 burlcfg.txt 的 txt 檔案,複製以下格式更改你的需求。
建立一個名為 burlcfg.txt 的 txt 檔案,複製以下格式更改你的需求。 **(store_link 針對非 Android, iOS 平台的,可以設置主程式下載的 link)**

```
#bundle_ip = Server IP
#google_store = GooglePlay Store Link
#apple_store = Apple Store Link
#store_link = GooglePlay Store Link (https://play.google.com/store/apps/details?id=YOUR_ID) or Apple Store Link (itms-apps://itunes.apple.com/app/idYOUR_ID)
bundle_ip 127.0.0.1
google_store market://details?id=YOUR_ID
apple_store itms-apps://itunes.apple.com/app/idYOUR_ID
store_link https://play.google.com/store/apps/details?id=YOUR_ID
```

**\>\> 加載 burlcfg.txt 方式 \<\<**
Expand Down Expand Up @@ -130,7 +129,7 @@ apple_store itms-apps://itunes.apple.com/app/idYOUR_ID

#### Media [murlcfg] (Media URL Config) 格式

如果音訊跟影片來源存放於 Server,可以使用 URL 的方式進行檔案請求,建立一個名為 murlcfg.txt 的 txt 檔案,進行 URL 的維護,複製以下格式更改你的需求。 **(如果不透過 murlcfg.txt 指定 URL 的話,也可以輸入完整資源 URL 至 Prefab 中,不過缺點就是對於未來更動 URL,要進行更改維護就會非常麻煩)**
如果音訊跟影片來源存放於 Server,可以使用 URL 的方式進行檔案請求,建立一個名為 murlcfg.txt 的 txt 檔案,進行 URL 的維護,複製以下格式更改你的需求。 **(如果不透過 murlcfg.txt 指定 URL 的話,也可以輸入完整資源 URL 至 Prefab 中,不過缺點就是對於未來更動 URL,要進行更改維護就會非常麻煩)**

```
#audio_urlset = Audio Source Url
Expand Down Expand Up @@ -175,7 +174,7 @@ video_urlset http://127.0.0.1/video_dev/Video/

### EventCenter

事件整合模塊,透過 FuncId (0x0000 + 1, 0x0000 + 2...) 進行 Event 註冊,可以自定義每個 Event 的格式進行派送。
事件整合模塊,透過 FuncId (xBASE + 1, xBASE + 2...) 進行 Event 註冊,可以自定義每個 Event 的格式進行派送。

- EventCenter : 事件註冊調度管理,管理基類已實現單例
- EventBase,單個 Event 基類,需建立實作 => 右鍵創建
Expand All @@ -187,7 +186,7 @@ video_urlset http://127.0.0.1/video_dev/Video/

### APICenter

API 整合模塊,透過 FuncId (0x0000 + 1, 0x0000 + 2...) 進行 API 註冊,可以自定義每個 API 的格式進行短連接請求。
API 整合模塊,透過 FuncId (xBASE + 1, xBASE + 2...) 進行 API 註冊,可以自定義每個 API 的格式進行短連接請求。

- Acax (類似 Ajax 方式,請求 API)
- APICenter : Http API 註冊管理,管理基類已實現單例
Expand All @@ -205,8 +204,8 @@ API 整合模塊,透過 FuncId (0x0000 + 1, 0x0000 + 2...) 進行 API 註冊
- Utility
- Timer => DeltaTimer, RealTimer, DTUpdate, RTUpdate
- Adapter => UISafeAreaAdapter
- Pool => NodePool (物件池)
- ButtonPlus => 繼承 Unity Button,實現 Long Press 功能 + Transition Scale 功能
- Pool => NodePool (GameObject Pool)
- ButtonPlus => Inherited by Unity Button. extend Long Press and Transition Scale

---

Expand Down

0 comments on commit 31022c5

Please sign in to comment.