public static void LogObjectAndChilds(GameObject obj) { Spectrum.API.Logging.Logger logger = new Spectrum.API.Logging.Logger("CustomCar_" + obj.name); Console.Out.WriteLine("Trying to extract infos from " + obj.name); try { var objInfo = getGameObjectInfos(obj); string json = objInfo.toJson(); logger.WriteLine(json); Console.Out.WriteLine("Object extracted !"); } catch (Exception e) { Console.Out.WriteLine(e.Message); Console.Out.WriteLine(e.Source); Console.Out.WriteLine(e.StackTrace); Console.Out.WriteLine(e.ToString()); } Console.Out.WriteLine("textures nb : " + allTextures.Count); Console.Out.WriteLine("mesh nb : " + allMeshs.Count); }
public static void logCars() { Spectrum.API.Logging.Logger logger = new Spectrum.API.Logging.Logger("CustomCar"); Console.Out.WriteLine("Trying to extract cars infos"); try { CarList carList = new CarList(); foreach (var c in G.Sys.ProfileManager_.CarInfos_) { carList.cars.Add(getCarInfos(c)); } string json = carList.toJson(); logger.WriteLine(json); Console.Out.WriteLine("Car infos extracted !"); } catch (Exception e) { Console.Out.WriteLine(e.Message); Console.Out.WriteLine(e.Source); Console.Out.WriteLine(e.StackTrace); Console.Out.WriteLine(e.ToString()); } Console.Out.WriteLine("textures nb : " + allTextures.Count); Console.Out.WriteLine("mesh nb : " + allMeshs.Count); }
public void Initialize(IManager manager, string ipcIdentifier) { Log = new Spectrum.API.Logging.Logger("TexturePack.log") { WriteToConsole = true }; _settings = new Settings("TexturePackSettings"); texturePacks = new List <AssetBundle>(); string[] texturePackPaths = _settings.GetItem <string[]>("loadedTexturePacks"); foreach (string texturePackPathName in texturePackPaths) { LogInfo("Loaded texture pack" + texturePackPathName); texturePacks.Add((new Assets(texturePackPathName)).Bundle); } Events.Level.PostLoad.Subscribe(data => { foreach (AssetBundle texturePack in texturePacks) { //texturePack.Unload(true); string[] assetNames = texturePack.GetAllAssetNames(); LogInfo("Assets loaded!"); LogInfo(string.Join(", ", texturePack.GetAllAssetNames())); LogInfo("Material Names:"); var allObjects = GameObject.FindObjectsOfType <MeshRenderer>(); foreach (MeshRenderer obj in allObjects) { foreach (Material mat in obj.materials) { for (int i = 0; i < 30; i++) { Texture oldTex = mat.GetTexture(i); if (oldTex != null) { LogInfo(oldTex.name); foreach (string assetName in assetNames) { if (assetName.ToLower().Contains(oldTex.name.ToLower())) { LogInfo("Replacement texture found:"); LogInfo(assetName); mat.SetTexture(i, texturePack.LoadAsset <Texture>(assetName)); if (mat.GetTexture(i) == texturePack.LoadAsset <Texture>(assetName)) { LogInfo("Sucessfully replaced!"); } } } } } } } } }); }
public static void Initialize() { Log = new Spectrum.API.Logging.Logger("Transtexturizer.log") { WriteToConsole = true }; Files = new FileSystem(); }
public void Initialize(IManager manager, string ipcIdentifier) { //Console.Out.WriteLine(Application.unityVersion); configs = new Configs(); logger = new Spectrum.API.Logging.Logger("CustomCar"); var harmony = HarmonyInstance.Create("com.Larnin.CustomCar"); harmony.PatchAll(Assembly.GetExecutingAssembly()); assets = new Assets("cars"); loadCar(); }
public void Initialize(IManager manager, string ipcIdentifier) { _manager = manager; Log = new Spectrum.API.Logging.Logger("IPCData.log") { WriteToConsole = true }; Events.Scene.LoadFinish.Subscribe((data) => { if (data.sceneName == "MainMenu") { CreateMenu(manager, "SpectrumSettingsObject", "OptionsFrontRoot", "MainMenuFrontRoot"); } }); }
static void Print(List <ShaderInfo> list, string file) { Spectrum.API.Logging.Logger logger = new Spectrum.API.Logging.Logger(file); foreach (var s in list) { logger.WriteLine("Shader " + s.shaderName); logger.WriteLine("\tMaterials " + s.materials.Count); foreach (var m in s.materials) { logger.WriteLine("\t\t" + m.objectName + " # " + m.materialName + " # " + m.materialIndex); } logger.WriteLine(""); } Console.Out.WriteLine("Shaders infos extracted !"); }
public void Initialize(IManager manager, string ipcIdentifier) { _logger = new Logger("heat") { WriteToConsole = true }; _settings = InitializeSettings(); if (_settings.Display == Display.Watermark) { _watermark = GetAndActivateWatermark(); } manager.Hotkeys.Bind(_settings.ToggleHotkey, () => { _toggled = !_toggled; _watermark.text = ""; }); }
public void Initialize(IManager manager, string ipcIdentifier) { POVs = new Dictionary <string, Texture2D>(); FileSystem = new FileSystem(); Settings = new Settings("povstatus"); Logger = new Logger("pov") { WriteToConsole = true }; var currentPov = Settings.GetOrCreate("CurrentPOV", string.Empty); foreach (var pngFile in FileSystem.GetFiles(".")) { if (!pngFile.EndsWith(".png")) { continue; } var tex = new Texture2D(256, 256); using (var fs = FileSystem.OpenFile(pngFile)) { byte[] b = new byte[0]; using (BinaryReader br = new BinaryReader(fs)) b = br.ReadBytes((int)fs.Length); tex.LoadImage(b); } POVs.Add(Path.GetFileNameWithoutExtension(pngFile), tex); Logger.Info($"Loaded POV decal '{pngFile}'"); } if (POVs.Count == 0) { Logger.Warning("No POVs found. Stopping."); return; } if (string.IsNullOrEmpty(currentPov) || !POVs.ContainsKey(currentPov)) { currentPov = POVs.First(x => true).Key; Settings["CurrentPOV"] = currentPov; Settings.Save(); } var menuTree = new MenuTree("it.32-b.vdd.CustomPOVImageMenu", "Customizable wheel POV") { new ListBox <Texture2D>(MenuDisplayMode.Both, "it.32-b.vdd.CustomPOVImageMenu.POVs", "Available POVs") .WithEntries(POVs) .WithGetter(() => POVs[Settings.GetItem <string>("CurrentPOV")]) .WithSetter((tex) => { foreach (var kvp in POVs) { if (tex == kvp.Value) { Settings["CurrentPOV"] = kvp.Key; break; } } POVChangeTriggered = true; }) .WithDescription("Select one of available wheel POVs.") }; manager.Menus.AddMenu(MenuDisplayMode.Both, menuTree, "Change how your wheels bling."); HarmonyInstance = HarmonyInstance.Create("it.32-b.vdd.CustomPOVImage"); HarmonyInstance.PatchAll(Assembly.GetExecutingAssembly()); }