2022-01-22 20:13:49 -08:00
|
|
|
#if H3VR_IMPORTED
|
2023-07-26 16:45:05 -07:00
|
|
|
using System.Collections;
|
|
|
|
|
using System;
|
2022-01-26 01:23:39 -08:00
|
|
|
using HarmonyLib;
|
2022-01-22 20:13:49 -08:00
|
|
|
using System.IO;
|
|
|
|
|
using System.Reflection;
|
|
|
|
|
using BepInEx;
|
2022-01-24 00:34:25 -08:00
|
|
|
using BepInEx.Bootstrap;
|
2023-07-26 16:45:05 -07:00
|
|
|
using BepInEx.Logging;
|
2022-01-22 20:13:49 -08:00
|
|
|
using BepInEx.Configuration;
|
|
|
|
|
using UnityEngine;
|
2022-01-30 03:16:24 -08:00
|
|
|
using UnityEngine.UI;
|
2022-01-22 20:13:49 -08:00
|
|
|
using UnityEngine.SceneManagement;
|
|
|
|
|
|
2022-06-06 19:09:31 -07:00
|
|
|
using FistVR;
|
2022-01-22 20:13:49 -08:00
|
|
|
using TNHQoLImprovements;
|
2022-06-06 19:09:31 -07:00
|
|
|
using Sodalite.Api;
|
|
|
|
|
using Sodalite;
|
2022-01-22 20:13:49 -08:00
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* SUPER LARGE WARNING ABOUT THIS CLASS
|
2023-07-26 16:45:05 -07:00
|
|
|
* This is the default and fallback class that MeatKit uses as a template to generate a BepInEx plugin
|
|
|
|
|
* when building your mod. DO NOT MODIFY THIS FILE AT ALL, IN ANY WAY.
|
2022-01-22 20:13:49 -08:00
|
|
|
*
|
2023-07-26 16:45:05 -07:00
|
|
|
* If you want to add custom behavior to your mod, you should make a copy of this class, and put it inside
|
|
|
|
|
* the main namespace of your mod (that namespace can be found by opening the 'Allowed Namespaces' list on your build
|
|
|
|
|
* profile). MeatKit will then detect and use that class instead of this one, for that one specific profile.
|
|
|
|
|
*
|
|
|
|
|
* HOWEVER, YOU MUST KEEP ALL OF THE STUFF FROM THIS TEMPLATE, otherwise MeatKit may fail to correctly build
|
|
|
|
|
* your plugin, or your mod may fail to correctly load.
|
2022-01-22 20:13:49 -08:00
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
// DO NOT REMOVE OR CHANGE ANY OF THESE ATTRIBUTES
|
|
|
|
|
[BepInPlugin("MeatKit", "MeatKit Plugin", "1.0.0")]
|
|
|
|
|
[BepInProcess("h3vr.exe")]
|
|
|
|
|
|
2023-07-26 16:45:05 -07:00
|
|
|
// DO NOT CHANGE THE NAME OF THIS CLASS OR THE BASE CLASS. If you're making a custom plugin, make sure it extends BaseUnityPlugin.
|
2022-01-22 20:13:49 -08:00
|
|
|
public class MeatKitPlugin : BaseUnityPlugin
|
|
|
|
|
{
|
|
|
|
|
// DO NOT CHANGE OR REMOVE THIS FIELD.
|
|
|
|
|
#pragma warning disable 414
|
|
|
|
|
private static readonly string BasePath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
|
2023-07-26 16:45:05 -07:00
|
|
|
internal new static ManualLogSource Logger;
|
2022-01-22 20:13:49 -08:00
|
|
|
#pragma warning restore 414
|
2022-01-30 03:16:24 -08:00
|
|
|
|
2023-07-26 16:45:05 -07:00
|
|
|
public static AssetBundle bundle;
|
2022-01-28 19:57:50 -08:00
|
|
|
public static Font fontAgencyFB;
|
2022-01-30 03:16:24 -08:00
|
|
|
public static Font fontBombardier;
|
|
|
|
|
|
|
|
|
|
public static GameObject playerCamera;
|
|
|
|
|
|
|
|
|
|
// BepInEx configuration
|
|
|
|
|
//--- Health Counter ---//
|
2022-02-14 00:07:51 -08:00
|
|
|
public static ConfigEntry<bool> cfgHPHiddenWhenAiming;
|
2022-03-26 19:20:25 -07:00
|
|
|
public static ConfigEntry<float> cfgHPAimOpacity;
|
2022-01-24 01:48:22 -08:00
|
|
|
public static ConfigEntry<bool> cfgShowHPBackground;
|
|
|
|
|
public static ConfigEntry<float> cfgHPBackgroundOpacity;
|
2022-02-14 00:07:51 -08:00
|
|
|
public static ConfigEntry<HPTextType> cfgHPTextType;
|
2022-01-30 03:16:24 -08:00
|
|
|
//--- Take and Hold Info ---//
|
|
|
|
|
public static ConfigEntry<bool> cfgShowLPC;
|
2022-02-13 03:17:47 -08:00
|
|
|
public static ConfigEntry<bool> cfgInfoFollowCamera;
|
2022-01-24 01:48:22 -08:00
|
|
|
public static ConfigEntry<bool> cfgShowTokens;
|
|
|
|
|
public static ConfigEntry<bool> cfgShowHolds;
|
2022-01-30 03:16:24 -08:00
|
|
|
public static ConfigEntry<bool> cfgShowNumbersAtShop;
|
|
|
|
|
public static ConfigEntry<bool> cfgShowInfoOnGameOver;
|
|
|
|
|
public static ConfigEntry<bool> cfgShowWaves;
|
|
|
|
|
//--- Misc. ---//
|
2022-01-28 19:57:50 -08:00
|
|
|
public static ConfigEntry<HealthExpireIndicationType> cfgHealthCrystalIndicator;
|
|
|
|
|
|
2022-01-30 03:16:24 -08:00
|
|
|
// Take and Hold modifications
|
2022-01-22 20:13:49 -08:00
|
|
|
private static InPlay instance;
|
2022-06-06 19:09:31 -07:00
|
|
|
|
2022-01-30 03:16:24 -08:00
|
|
|
// Searching for old leaderboards player count mod to disable
|
2022-06-06 19:09:31 -07:00
|
|
|
private float lpcSearchTime;
|
2022-03-26 19:20:25 -07:00
|
|
|
private bool lpcStopSearching = false;
|
2022-01-24 01:48:22 -08:00
|
|
|
private float lpcModSearchTimeEnd;
|
2022-01-22 20:13:49 -08:00
|
|
|
|
2022-06-06 19:29:54 -07:00
|
|
|
public static FVRHealthBar hpDisplay;
|
|
|
|
|
|
2022-06-06 19:09:31 -07:00
|
|
|
// toggle HP visibility from wrist menu
|
|
|
|
|
private bool hpDisplayEnabled = true;
|
|
|
|
|
private WristMenuButton wmbHPToggle;
|
|
|
|
|
|
2022-01-26 01:23:39 -08:00
|
|
|
private Harmony harmony;
|
|
|
|
|
|
2023-07-31 00:12:10 -07:00
|
|
|
// Could soft-lock if we're not in TNH!
|
|
|
|
|
public static IEnumerator WaitForTNHInit()
|
|
|
|
|
{
|
|
|
|
|
while (InPlay.tnhManager == null || FindObjectOfType<TNH_Manager>() == null)
|
|
|
|
|
{
|
|
|
|
|
yield return null;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2022-01-22 20:13:49 -08:00
|
|
|
private void SceneChanged(Scene from, Scene to)
|
|
|
|
|
{
|
2023-07-30 22:46:37 -07:00
|
|
|
playerCamera = GameObject.FindGameObjectWithTag("MainCamera");
|
|
|
|
|
hpDisplay = FindObjectOfType<FVRHealthBar>();
|
2022-06-06 19:29:54 -07:00
|
|
|
GetFonts();
|
2022-02-14 00:07:51 -08:00
|
|
|
|
|
|
|
|
// apply health counter tweaks globally
|
2022-06-06 19:09:31 -07:00
|
|
|
if (hpDisplay != null)
|
2022-02-14 00:07:51 -08:00
|
|
|
{
|
2022-06-06 19:09:31 -07:00
|
|
|
HPReadability.ImproveHPTextReadability(hpDisplay.transform.GetChild(0).gameObject);
|
2022-02-14 00:07:51 -08:00
|
|
|
|
|
|
|
|
if (cfgHPHiddenWhenAiming.Value)
|
2022-06-06 19:09:31 -07:00
|
|
|
hpDisplay.gameObject.AddComponent<HPHideWhenAiming>();
|
|
|
|
|
|
|
|
|
|
WristMenuAPI.Buttons.Add(wmbHPToggle);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
WristMenuAPI.Buttons.Remove(wmbHPToggle);
|
2022-02-14 00:07:51 -08:00
|
|
|
}
|
|
|
|
|
|
2023-07-30 22:46:37 -07:00
|
|
|
StartCoroutine("TryTNH");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private IEnumerator TryTNH()
|
|
|
|
|
{
|
|
|
|
|
for (int i = 0; i < 11; ++i)
|
2022-01-22 20:13:49 -08:00
|
|
|
{
|
2023-07-30 22:46:37 -07:00
|
|
|
// TNH patches
|
|
|
|
|
if (GameObject.Find("_GameManager") != null || FindObjectOfType<TNH_Manager>() != null)
|
|
|
|
|
{
|
|
|
|
|
Logger.LogInfo("We are in a TNH game!");
|
|
|
|
|
instance = new GameObject().AddComponent<InPlay>();
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Logger.LogInfo(String.Format("Couldn't find a TNH game. Trying again...({0}/10)", i));
|
|
|
|
|
yield return new WaitForEndOfFrame();
|
|
|
|
|
}
|
2022-01-22 20:13:49 -08:00
|
|
|
}
|
2023-07-30 22:46:37 -07:00
|
|
|
|
|
|
|
|
// destroy self only if we are FOR SURE not in a TNH game
|
|
|
|
|
if (GameObject.Find("_GameManager") == null || FindObjectOfType<TNH_Manager>() == null)
|
2022-01-22 20:13:49 -08:00
|
|
|
{
|
2022-01-24 03:40:08 -08:00
|
|
|
Logger.LogInfo("We are NOT in a TNH game!");
|
2022-01-22 20:13:49 -08:00
|
|
|
Destroy(instance);
|
|
|
|
|
}
|
2023-07-30 22:46:37 -07:00
|
|
|
}
|
2022-01-30 14:41:03 -08:00
|
|
|
|
|
|
|
|
// called on scene change, find fonts from game if they're not set
|
|
|
|
|
private void GetFonts()
|
|
|
|
|
{
|
|
|
|
|
// Agency FB
|
|
|
|
|
if (fontAgencyFB == null)
|
2022-01-30 03:16:24 -08:00
|
|
|
{
|
2022-06-06 19:29:54 -07:00
|
|
|
if (hpDisplay != null)
|
2022-01-30 03:16:24 -08:00
|
|
|
{
|
2022-06-06 19:29:54 -07:00
|
|
|
fontAgencyFB = hpDisplay.transform.GetChild(0).GetChild(0).GetComponent<Text>().font;
|
2022-01-30 03:16:24 -08:00
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
var query = FindObjectsOfType<Text>();
|
|
|
|
|
foreach (Text itm in query)
|
|
|
|
|
{
|
|
|
|
|
if (itm.font.name == "AGENCYR")
|
|
|
|
|
{
|
|
|
|
|
fontAgencyFB = itm.font;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2022-01-22 20:13:49 -08:00
|
|
|
}
|
|
|
|
|
|
2022-01-26 01:23:39 -08:00
|
|
|
public MeatKitPlugin(): base()
|
|
|
|
|
{
|
|
|
|
|
harmony = new Harmony("muskit.TNHQualityOfLifeImprovements");
|
2023-07-26 16:45:05 -07:00
|
|
|
lpcSearchTime = 30f + 30f * Mathf.Sin(System.DateTime.Today.DayOfYear / 365f); // lolz
|
2022-01-26 01:23:39 -08:00
|
|
|
}
|
|
|
|
|
|
2023-07-26 16:45:05 -07:00
|
|
|
// You are free to edit this method, however please ensure LoadAssets is still called somewhere inside it.
|
2022-01-22 20:13:49 -08:00
|
|
|
private void Awake()
|
|
|
|
|
{
|
2023-07-26 16:45:05 -07:00
|
|
|
// ----- BEGIN MEATKIT REQ. CODE -----
|
|
|
|
|
// This lets you use your BepInEx-provided logger from other scripts in your project
|
|
|
|
|
Logger = base.Logger;
|
|
|
|
|
|
|
|
|
|
// You may place code before/after this, but do not remove this call to LoadAssets
|
2022-01-28 19:57:50 -08:00
|
|
|
LoadAssets();
|
2023-07-26 16:45:05 -07:00
|
|
|
// ----- END MEATKIT REQ. CODE -----
|
|
|
|
|
|
2022-01-28 19:57:50 -08:00
|
|
|
|
2022-06-06 19:29:54 -07:00
|
|
|
// get Agency FB from system (BAD IDEA, NOT EVERYONE WILL HAVE IT; MAY SET TO DEFAULT FONT)
|
2022-01-30 03:16:24 -08:00
|
|
|
//fontAgencyFB = Font.CreateDynamicFontFromOSFont("Agency FB", 16);
|
2022-01-28 19:57:50 -08:00
|
|
|
|
2022-01-22 20:13:49 -08:00
|
|
|
// load asset bundle
|
|
|
|
|
bundle = AssetBundle.LoadFromFile(Path.Combine(BasePath, "tnh_qol_improvements"));
|
|
|
|
|
SceneManager.activeSceneChanged += SceneChanged;
|
|
|
|
|
|
2022-02-13 03:17:47 -08:00
|
|
|
fontBombardier = bundle.LoadAsset<Font>("Bombardier");
|
2022-01-30 03:16:24 -08:00
|
|
|
|
2022-01-22 20:13:49 -08:00
|
|
|
// setup configuration
|
2022-01-30 03:16:24 -08:00
|
|
|
//--- Health Counter ---//
|
2022-02-14 00:07:51 -08:00
|
|
|
cfgHPHiddenWhenAiming = Config.Bind("Health Counter",
|
|
|
|
|
"Hide HP Counter When Aiming",
|
|
|
|
|
true,
|
|
|
|
|
"While aiming around the health counter in view, hide it.");
|
2022-03-26 19:20:25 -07:00
|
|
|
cfgHPAimOpacity = cfgHPBackgroundOpacity = Config.Bind("Health Counter",
|
|
|
|
|
"Aiming opacity",
|
|
|
|
|
0f,
|
|
|
|
|
"Opacity of Health Counter when aiming around it (if Hide HP is enabled).");
|
2022-01-24 01:48:22 -08:00
|
|
|
cfgShowHPBackground = Config.Bind("Health Counter",
|
|
|
|
|
"Background enabled",
|
2022-03-26 19:20:25 -07:00
|
|
|
false,
|
|
|
|
|
"Apply a background to the Health Counter.");
|
2022-01-24 01:48:22 -08:00
|
|
|
cfgHPBackgroundOpacity = Config.Bind("Health Counter",
|
|
|
|
|
"Background opacity",
|
|
|
|
|
0.74f,
|
|
|
|
|
"Set opacity of health text's background (if enabled).");
|
2022-02-14 00:07:51 -08:00
|
|
|
cfgHPTextType = Config.Bind("Health Counter",
|
|
|
|
|
"HP Text Type",
|
|
|
|
|
HPTextType.Solidify,
|
|
|
|
|
"Solidify: Set text to full opacity and give it a drop shadow\n" +
|
|
|
|
|
"Untouched: Leave text untouched\n" +
|
|
|
|
|
"Hidden: Hide health counter completely (will hide background if enabled)");
|
2022-01-30 03:16:24 -08:00
|
|
|
//--- Take and Hold Info ---//
|
2022-01-28 19:57:50 -08:00
|
|
|
cfgShowLPC = Config.Bind("Take and Hold Info",
|
2022-02-13 03:17:47 -08:00
|
|
|
"Show Player Count in Online Leaderboards",
|
2022-01-24 03:40:08 -08:00
|
|
|
true,
|
|
|
|
|
"Shows the number of players in the currently selected TNH leaderboard.");
|
2022-02-13 03:17:47 -08:00
|
|
|
cfgInfoFollowCamera = Config.Bind("Take and Hold Info",
|
|
|
|
|
"Tilt Wrist Stats Towards Camera",
|
|
|
|
|
true,
|
|
|
|
|
"Tilt the extra wrist statistics from this mod towards the player's camera, allowing for easier readability.");
|
2022-01-28 19:57:50 -08:00
|
|
|
cfgShowTokens = Config.Bind("Take and Hold Info",
|
2022-01-24 01:48:22 -08:00
|
|
|
"Show Tokens",
|
|
|
|
|
true,
|
|
|
|
|
"Shows how many tokens the player has by their radar hand.");
|
2022-01-28 19:57:50 -08:00
|
|
|
cfgShowHolds = Config.Bind("Take and Hold Info",
|
2022-01-24 01:48:22 -08:00
|
|
|
"Show Holds",
|
|
|
|
|
true,
|
|
|
|
|
"Shows how many holds the player has completed by their radar hand.");
|
2022-01-30 03:16:24 -08:00
|
|
|
cfgShowWaves = Config.Bind("Take and Hold Info",
|
|
|
|
|
"Show Waves",
|
|
|
|
|
true,
|
|
|
|
|
"Shows how many waves the player has completed on the current hold by their radar hand.");
|
|
|
|
|
cfgShowInfoOnGameOver = Config.Bind("Take and Hold Info",
|
|
|
|
|
"Show Extra Info at Game Over",
|
|
|
|
|
true,
|
|
|
|
|
"Show enabled extra game information at the game over area.");
|
|
|
|
|
cfgShowNumbersAtShop = Config.Bind("Take and Hold Info",
|
|
|
|
|
"Show Numbers for Tokens at Item Station",
|
|
|
|
|
true,
|
|
|
|
|
"At the item station, add a numberical representation to costs and player's tokens.");
|
|
|
|
|
//--- Misc. ---//
|
2022-01-28 19:57:50 -08:00
|
|
|
cfgHealthCrystalIndicator = Config.Bind("Misc.",
|
|
|
|
|
"Show expiration of Health Crystals",
|
|
|
|
|
HealthExpireIndicationType.Flashing,
|
|
|
|
|
"Add a visual indication on the Health Crystal's despawn timer.");
|
|
|
|
|
|
2022-06-06 19:09:31 -07:00
|
|
|
// calculate end time to search for my deprecated Leaderboard
|
|
|
|
|
lpcModSearchTimeEnd = Time.time + lpcSearchTime;
|
|
|
|
|
|
|
|
|
|
wmbHPToggle = new WristMenuButton("Toggle HP Display", ToggleHPVisibility);
|
2022-01-28 19:57:50 -08:00
|
|
|
|
|
|
|
|
RunPatches();
|
|
|
|
|
}
|
2022-06-06 19:09:31 -07:00
|
|
|
|
2022-01-28 19:57:50 -08:00
|
|
|
private void RunPatches()
|
|
|
|
|
{
|
|
|
|
|
if (harmony == null)
|
2022-06-06 19:29:54 -07:00
|
|
|
{
|
|
|
|
|
Logger.LogError("Could not run patches; Harmony didn't initialize correctly!");
|
2022-01-28 19:57:50 -08:00
|
|
|
return;
|
2022-06-06 19:29:54 -07:00
|
|
|
}
|
2022-01-22 20:13:49 -08:00
|
|
|
|
2022-01-26 01:23:39 -08:00
|
|
|
// patch KillAll code (only acts w/ health crystals)
|
2022-01-28 19:57:50 -08:00
|
|
|
if (cfgHealthCrystalIndicator.Value != HealthExpireIndicationType.None)
|
|
|
|
|
TimedHealthCrystalPatch.Patch(harmony);
|
2022-01-26 01:23:39 -08:00
|
|
|
|
2022-01-24 01:48:22 -08:00
|
|
|
// patch leaderboard code
|
2022-01-24 03:40:08 -08:00
|
|
|
if (cfgShowLPC.Value)
|
2022-01-26 01:23:39 -08:00
|
|
|
LeaderboardPlayerCountPatch.Patch(harmony);
|
2022-01-24 01:48:22 -08:00
|
|
|
|
2022-01-30 03:16:24 -08:00
|
|
|
// for counting wins/loses for TNHInfo.holdCounter
|
2022-01-28 19:57:50 -08:00
|
|
|
if (cfgShowHolds.Value)
|
|
|
|
|
HoldCounterPatch.Patch(harmony);
|
|
|
|
|
|
|
|
|
|
// stick stats to hand after game over
|
|
|
|
|
if (cfgShowHolds.Value || cfgShowTokens.Value)
|
2023-07-31 00:12:10 -07:00
|
|
|
TNHInfo.Patch(harmony);
|
2022-01-30 03:16:24 -08:00
|
|
|
|
|
|
|
|
// show numerical representation of shop values
|
|
|
|
|
if (cfgShowNumbersAtShop.Value)
|
|
|
|
|
{
|
|
|
|
|
// costs
|
|
|
|
|
ShopCostPatch.Patch(harmony);
|
|
|
|
|
// player tokens
|
|
|
|
|
ShopTokenPatch.Patch(harmony);
|
|
|
|
|
}
|
2023-07-31 00:12:10 -07:00
|
|
|
|
|
|
|
|
Logger.LogInfo("Successfully ran patches!");
|
|
|
|
|
}
|
2022-01-24 00:34:25 -08:00
|
|
|
|
2022-06-06 19:09:31 -07:00
|
|
|
private void ToggleHPVisibility(object sender, ButtonClickEventArgs args)
|
|
|
|
|
{
|
|
|
|
|
hpDisplayEnabled = !hpDisplayEnabled;
|
|
|
|
|
if (hpDisplay != null)
|
|
|
|
|
hpDisplay.gameObject.SetActive(hpDisplayEnabled);
|
|
|
|
|
}
|
|
|
|
|
|
2022-01-24 00:34:25 -08:00
|
|
|
/// <summary>
|
2022-01-24 01:48:22 -08:00
|
|
|
/// Its only purpose: to kill the deprecated TNH Leaderboard Player Count mod.
|
2022-01-24 00:34:25 -08:00
|
|
|
/// </summary>
|
|
|
|
|
private void Update()
|
|
|
|
|
{
|
2022-03-26 19:20:25 -07:00
|
|
|
if (lpcStopSearching)
|
2022-01-24 00:34:25 -08:00
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
foreach (var plugin in Chainloader.PluginInfos)
|
|
|
|
|
{
|
|
|
|
|
if (plugin.Key == "me.muskit.tnhLeaderboardPlayerCount")
|
|
|
|
|
{
|
|
|
|
|
Logger.LogWarning("TNH Leaderboard Player Count mod detected. Destroying it to avoid interference.");
|
|
|
|
|
Destroy(plugin.Value.Instance);
|
2022-03-26 19:20:25 -07:00
|
|
|
lpcStopSearching = true;
|
2022-01-24 00:34:25 -08:00
|
|
|
}
|
|
|
|
|
}
|
2022-01-24 01:48:22 -08:00
|
|
|
|
|
|
|
|
if (Time.realtimeSinceStartup >= lpcModSearchTimeEnd)
|
|
|
|
|
{
|
2022-06-06 19:09:31 -07:00
|
|
|
Logger.LogInfo(string.Format("Stopping search for TNH Leaderboard Player Count mod after {0} seconds.", lpcSearchTime));
|
2022-03-26 19:20:25 -07:00
|
|
|
lpcStopSearching = true;
|
2022-01-24 01:48:22 -08:00
|
|
|
}
|
2022-01-24 00:34:25 -08:00
|
|
|
}
|
2023-07-26 16:45:05 -07:00
|
|
|
|
|
|
|
|
// DO NOT CHANGE OR REMOVE THIS METHOD. It's contents will be overwritten when building your package.
|
|
|
|
|
private void LoadAssets()
|
|
|
|
|
{
|
|
|
|
|
// Code to load your build items will be generated at build-time and inserted here
|
|
|
|
|
}
|
2022-01-22 20:13:49 -08:00
|
|
|
}
|
2023-07-26 16:45:05 -07:00
|
|
|
#endif
|