static public void MakeSprite(string image, string PATH, string name) { string str = Path.Combine(PATH, image); if (S.I.GetComponent <PowerMonoBehavior>() == null) { S.I.gameObject.AddComponent <PowerMonoBehavior>(); } if (LuaPowerData.sprites.ContainsKey(name)) { Debug.Log("ERROR: A Sprite exists with this name already."); return; } LuaPowerData.sprites[name] = null; S.I.GetComponent <PowerMonoBehavior>().StartCoroutine( PowerMonoBehavior.LoadSprite(str, (Texture2D content) => { if (content != null) { content.filterMode = FilterMode.Point; LuaPowerData.sprites[name] = Sprite.Create(content, new Rect(0f, 0f, (float)content.width, (float)content.height), new Vector2(0.5f, 0.5f), 1f); } else { Debug.Log("ERROR: MakeSprite didn't find anything in content"); } })); }
static public void PlayCustomMusic(string MusicName) { if (LuaPowerData.customMusic.ContainsKey(MusicName)) { S.I.StartCoroutine(PowerMonoBehavior.FadeAudioOut(S.I.muCtrl.audioSource, .3f, S.I.muCtrl.audioSource.volume)); S.I.muCtrl.StopIntroLoop(); S.I.muCtrl.audioSource.volume = 0; S.I.muCtrl.audioSource.time = LuaPowerData.customMusic[MusicName].StartTime; S.I.StartCoroutine(PowerMonoBehavior.FadeAudioIn(S.I.muCtrl.audioSource, 1f, LuaPowerData.customMusic[MusicName].Volume)); S.I.muCtrl.Play(LuaPowerData.customMusic[MusicName].AudioClip); S.I.muCtrl.audioSource.clip.name = MusicName; S.I.StartCoroutine(PowerMonoBehavior.CheckAudioLoops(S.I.muCtrl.audioSource, LuaPowerData.customMusic[MusicName].IntroBoundry, LuaPowerData.customMusic[MusicName].EndBoundry)); } }
static void Prefix(ref ModCtrl __instance, FileInfo[] fileInfo, string modsDir) { var AllAudioClips = Traverse.Create(S.I.itemMan).Field("allAudioClips").GetValue <Dictionary <String, AudioClip> >(); FileInfo[] fileInfoArray = fileInfo; if (S.I.GetComponent <PowerMonoBehavior>() == null) { S.I.gameObject.AddComponent <PowerMonoBehavior>(); } for (int index = 0; index < fileInfoArray.Length; ++index) { FileInfo file = fileInfoArray[index]; if (!file.Name.Contains(".meta")) { if (file.Name.Contains(".ogg") || file.Name.Contains(".wav")) { AudioType audioType = file.Name.Contains(".ogg") ? AudioType.OGGVORBIS : AudioType.WAV; S.I.GetComponent <PowerMonoBehavior>().StartCoroutine(PowerMonoBehavior.LoadSound(file, audioType, (content) => { if (content != null) { if (AllAudioClips.ContainsKey(file.Name.Split('.')[0])) { Debug.Log("Game already contains an Audiofile named: " + file.Name.Split('.')[0]); } else { AllAudioClips.Add(file.Name.Split('.')[0], content); } } })); } } } }