95 lines
2.9 KiB
C#
95 lines
2.9 KiB
C#
using System.Collections.Generic;
|
|
|
|
public class XUiC_MainMenuBackgroundRebirth : XUiController
|
|
{
|
|
public override void Init()
|
|
{
|
|
base.Init();
|
|
this.mainMenuTexture = (base.GetChildById("menuBG").ViewComponent as XUiV_Texture);
|
|
}
|
|
|
|
private XUiV_Texture mainMenuTexture;
|
|
|
|
public override bool ParseAttribute(string _name, string _value, XUiController _parent)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
public void GetImage()
|
|
{
|
|
string ModsBasePath = GameIO.GetUserGameDataDir() + "/Mods";
|
|
string ModsBasePathLegacy = Application.platform != UnityEngine.RuntimePlatform.OSXPlayer ? (Application.dataPath + "/../Mods") : (Application.dataPath + "/../../Mods");
|
|
string imagePath = "";
|
|
|
|
if (Directory.Exists(ModsBasePathLegacy + "/zzz_REBIRTH__Utils"))
|
|
{
|
|
imagePath = ModsBasePathLegacy + "/zzz_REBIRTH__Utils" + "/Resources/Backgrounds/";
|
|
}
|
|
else
|
|
{
|
|
imagePath = ModsBasePath + "/zzz_REBIRTH__Utils" + "/Resources/Backgrounds/";
|
|
}
|
|
|
|
string[] backgroundsPNG = Directory.GetFiles(imagePath, "Menu*.jpg");
|
|
int randomIndex = 0;
|
|
|
|
//Log.Out("XUiC_MainMenuBackgroundRebirth-OnOpen backgroundsPNG.Length: " + backgroundsPNG.Length);
|
|
|
|
|
|
if (backgroundLeft.Count == 0)
|
|
{
|
|
for (int i = 0; i < 81; i++)
|
|
{
|
|
backgroundLeft.Add(i);
|
|
}
|
|
}
|
|
|
|
//Log.Out("XUiC_MainMenuBackgroundRebirth-OnOpen backgroundLeft.Count: " + backgroundLeft.Count);
|
|
|
|
int num = UnityEngine.Random.Range(0, backgroundLeft.Count - 1);
|
|
|
|
//Log.Out("XUiC_MainMenuBackgroundRebirth-OnOpen num: " + num);
|
|
|
|
randomIndex = backgroundLeft[num];
|
|
|
|
//Log.Out("XUiC_MainMenuBackgroundRebirth-OnOpen randomIndex: " + randomIndex);
|
|
|
|
backgroundLeft.Remove(randomIndex);
|
|
|
|
//Log.Out("XUiC_MainMenuBackgroundRebirth-OnOpen prefabImagePath: " + imagePath);
|
|
if (File.Exists(backgroundsPNG[randomIndex]))
|
|
{
|
|
//Log.Out("XUiC_MainMenuBackgroundRebirth-OnOpen EXISTS");
|
|
|
|
Texture2D texture = new Texture2D(0, 0, TextureFormat.RGB24, false);
|
|
texture.LoadImage(File.ReadAllBytes(backgroundsPNG[randomIndex]));
|
|
|
|
mainMenuTexture.Texture = texture;
|
|
}
|
|
}
|
|
|
|
public override void Update(float _dt)
|
|
{
|
|
float menuBackgroundTick = 20f;
|
|
if ((Time.time - RebirthVariables.menuBackgroundCheck) > menuBackgroundTick)
|
|
{
|
|
RebirthVariables.menuBackgroundCheck = Time.time;
|
|
GetImage();
|
|
}
|
|
|
|
base.Update(_dt);
|
|
}
|
|
|
|
public override void OnOpen()
|
|
{
|
|
//Log.Out("XUiC_MainMenuBackgroundRebirth-OnOpen START");
|
|
//Log.Out("XUiC_MainMenuBackgroundRebirth-OnOpen Size: " + mainMenuTexture.Size);
|
|
|
|
GetImage();
|
|
|
|
base.OnOpen();
|
|
}
|
|
|
|
private static List<int> backgroundLeft = new List<int>();
|
|
}
|