The OxGFrame is a framework based on Unity for accelerating game development. Supports multi-platform Win, OSX, Android, iOS, WebGL.
// activateOnLoad = false (suspend)
var bundlePack = await CoreFrames.USFrame.LoadAdditiveSceneAsync<BundlePack>("MyPackage", "SceneName", false, 100);
// Method 1
var bundlePack = await CoreFrames.USFrame.LoadAdditiveSceneAsync<BundlePack>("MyPackage", "SceneName", false, 100);
bundlePack.GetOperationHandle<SceneHandle>().UnSuspend();
// Method 2
var bundlePack = await CoreFrames.USFrame.LoadAdditiveSceneAsync<BundlePack>("MyPackage", "SceneName", false, 100);
bundlePack.UnsuspendScene();
// Default is protected, no set required (depends on the first element in BindCodeSetting)
UIBase, SRBase:
_Node@MyObj*Txt
CPBase:
~Node@MyObj*Txt
// Assign access modifier
UIBase, SRBase:
_Node@MyObj*Txt$public
_Node@MyObj*Txt$private
CPBase:
~Node@MyObj*Txt$public
~Node@MyObj*Txt$private
[hi] = [HideInInspector]
UIBase, SRBase:
_Node@MyObj*Txt$public[hi]
CPBase:
~Node@MyObj*Txt$public[hi]
[sf] = [SerializeField]
UIBase, SRBase:
_Node@MyObj*Txt[sf]
CPBase:
~Node@MyObj*Txt[sf]
public enum BuiltinQueryMode
{
WebRequest,
BuiltinFileManifest,
BuiltinFileManifestWithCRC
}
Note: BuiltinFileManifest (built-in files list) also will generate on build (OnPreprocessBuild).
// Specific pattern
#region Binding Components
#endregion
/// <summary>
/// Init package by type
/// </summary>
/// <param name="packageInfo"></param>
/// <param name="autoUpdate"></param>
/// <returns></returns>
public static async UniTask<bool> InitPackage(PackageInfoWithBuild packageInfo, bool autoUpdate = false)
public class PackageOperation
{
/// <summary>
/// Ready operation for initialize (after events added)
/// </summary>
public void Ready()
}
Modified BundleDLCDemo sample.
Modified SetDefaultPackage determine.
Removed unuse samples from DiskUtils.
public void DriveUpdate(float dt) => this.HandleUpdate(dt);
public void DriveFixedUpdate(float dt) => this.HandleFixedUpdate(dt);
public void DriveLateUpdate(float dt) => this.HandleLateUpdate(dt);
public class PackageOperation
{
public delegate void OnPatchRepairFailed(PackageOperation itself);
public delegate void OnPatchInitPatchModeFailed(PackageOperation itself);
public delegate void OnPatchVersionUpdateFailed(PackageOperation itself);
public delegate void OnPatchManifestUpdateFailed(PackageOperation itself);
public delegate void OnPatchCheckDiskNotEnoughSpace(PackageOperation itself, int availableMegabytes, ulong patchTotalBytes);
public delegate void OnPatchDownloadFailed(PackageOperation itself, string fileName, string error);
}