private static void ToggleBeamAnimation(Workbench workbench, bool active) { workbench.GetData().animatingBeams = active; try { workbench.workingLight.SetActive(active); workbench.animator.SetBool(AnimatorHashID.working, active); var sparks = (GameObject[])sparksField.GetValue(workbench); var beams = workbench.fxLaserBeam; for (var i = 0; i < beams.Length; i++) { beams[i].SetActive(active); var ps = sparks[i].GetComponent <ParticleSystem>(); if (active) { ps.Play(); } else { ps.Stop(); } } } catch (Exception e) { AGLogger.ExceptionOnce(e); } }
private static bool TryCreateModParticleParams(Fabricator fabricator) { if (modParticlesParams != null) { return(true); } try { var sparksL = ((GameObject)sparksLFieldInfo.GetValue(fabricator)).GetComponent <ParticleSystem>(); originParticlesParams = new ParticleSystemParameters() { startColor = sparksL.main.startColor }; modParticlesParams = new ParticleSystemParameters() { startColor = Config.BeamAlphaColor }; return(true); } catch (Exception e) { AGLogger.Exception(e); return(false); } }
private static bool TryCreateModParticleParams(Workbench workbench) { if (modParticlesParams != null) { return(true); } try { var sparks = ((GameObject[])sparksField.GetValue(workbench))[0].GetComponent <ParticleSystem>(); originParticlesParams = new ParticleSystemParameters() { startColor = sparks.main.startColor }; modParticlesParams = new ParticleSystemParameters() { startColor = Config.BeamAlphaColor }; return(true); } catch (Exception e) { AGLogger.Exception(e); return(false); } }
private static void SetWorkbenchLightColor(Workbench workbench, Color color) { try { workbench.workingLight.GetComponent <Light>().color = color; } catch (Exception e) { AGLogger.Exception(e); } }
private static void SetFabricatorLightColor(Fabricator fabricator, Color color) { try { fabricator.fabLight.color = color; } catch (Exception e) { AGLogger.Exception(e); } }
private static void SetFabricatorBeamsMaterial(Fabricator fabricator, Material material) { try { fabricator.leftBeam.GetComponent <Renderer>().material = material; fabricator.rightBeam.GetComponent <Renderer>().material = material; } catch (Exception e) { AGLogger.Exception(e); } }
private static void SetWorkbenchBeamsMaterial(Workbench workbench, Material material) { try { foreach (var beam in workbench.fxLaserBeam) { beam.GetComponent <Renderer>().material = material; } } catch (Exception e) { AGLogger.Exception(e); } }
private static void SetFabricatorParticlesParams(Fabricator fabricator, ParticleSystemParameters @params) { try { var sparksL = ((GameObject)sparksLFieldInfo.GetValue(fabricator)).GetComponent <ParticleSystem>(); var sparksR = ((GameObject)sparksRFieldInfo.GetValue(fabricator)).GetComponent <ParticleSystem>(); @params.Apply(sparksL); @params.Apply(sparksR); } catch (Exception e) { AGLogger.Exception(e); } }
private static void SetWorkbenchParticlesParams(Workbench workbench, ParticleSystemParameters @params) { try { var sparks = (GameObject[])sparksField.GetValue(workbench); foreach (var spark in sparks) { @params.Apply(spark.GetComponent <ParticleSystem>()); } } catch (Exception e) { AGLogger.Exception(e); } }
static MaterialFix() { try { //var prefab = CraftData.GetPrefabForTechType(TechType.Workbench, true); var workbench = Resources.Load <GameObject>("Submarine/Build/Workbench").GetComponent <Workbench>(); var material = workbench.fxLaserBeam[0].GetComponent <Renderer>().sharedMaterial; var func = AnimationFuncs.SinusoidalColor(min, max, frequency); var anim = new ShaderColorPropertyAnimation(ShaderPropertyID._Color, func); anim.Play(material); } catch (Exception e) { AGLogger.Exception(e); } }
static BeamMaterial() { try { var prefab = CraftData.GetPrefabForTechType(TechType.Workbench); original = prefab.GetComponent <Workbench>().fxLaserBeam[0].GetComponent <Renderer>().sharedMaterial; custom = new Material(original); var func = AnimationFuncs.SinusoidalColor(Config.BeamColor, Config.BeamAlphaColor, Config.BeamFrequency); var anim = new ShaderColorPropertyAnimation(ShaderPropertyID._Color, func); anim.Play(custom); } catch (Exception e) { AGLogger.Exception(e); } }
private static void UpdateAnimation(Workbench workbench) { try { var light = workbench.workingLight.GetComponent <Light>(); light.intensity *= 2; var sparks = (GameObject[])sparksField.GetValue(workbench); var beams = workbench.fxLaserBeam; var spawnPoint = workbench.ghost.itemSpawnPoint; for (var i = 0; i < sparks.Length; i++) { var laser = beams[i].transform; sparks[i].transform.position = GetBeamEnd(laser.position, laser.forward, spawnPoint.position, spawnPoint.up); } } catch (Exception e) { AGLogger.ExceptionOnce(e); } }
private static bool TryCreateModLightColor(Workbench workbench) { if (originLightColor != null) { return(true); } try { originLightColor = workbench.workingLight.GetComponent <Light>().color; modLightColor = Config.BeamColor; return(true); } catch (Exception e) { AGLogger.Exception(e); return(false); } }
private static bool TryCreateModLightColor(Fabricator fabricator) { if (originLightColor != null) { return(true); } try { originLightColor = fabricator.fabLight.color; modLightColor = Config.BeamColor; return(true); } catch (Exception e) { AGLogger.Exception(e); return(false); } }
public void OnConsoleCommand_lgfind(NotificationCenter.Notification note) { if (note == null || note.data == null || note.data.Count == 0) { return; } var pattern = (string)note.data[0]; if (string.IsNullOrEmpty(pattern)) { return; } pattern = pattern.Replace('_', ' '); int maxTextSize = 128; if (note.data.Count > 1) { int.TryParse((string)note.data[1], out maxTextSize); } ErrorMessage.AddMessage($"Searching for '{pattern}'..."); var regex = pattern == "-eng" ? onlyASCIIRegex : new Regex($"{Regex.Escape(pattern)}", RegexOptions.IgnoreCase); var searchResult = LanguageWrapper.FindAll(x => regex.IsMatch(x.Value)); if (searchResult.Count > 0) { ErrorMessage.AddMessage($"Found <color=#00FF00FF>{searchResult.Count}</color> strings. Check log for details."); AGLogger.Message($"Searched '{pattern}'. Found {searchResult.Count} strings:"); ReportSearch(searchResult, maxTextSize); } else { ErrorMessage.AddMessage($"Nothing found."); AGLogger.Message($"Searched '{pattern}'. Nothing found."); } }