void LateStart() { if (!string.IsNullOrEmpty(SpritePath)) { Image img = GetComponent <Image>(); if (img != null) { img.sprite = SpriteRegistry.Get(SpritePath); if (SetNativeSize) { img.SetNativeSize(); } } ParticleSystem psys = GetComponent <ParticleSystem>(); if (psys != null) { ParticleSystemRenderer prender = GetComponent <ParticleSystemRenderer>(); prender.material.mainTexture = SpriteRegistry.Get(SpritePath).texture; } } if (!string.IsNullOrEmpty(SoundPath)) { AudioSource aSrc = GetComponent <AudioSource>(); aSrc.clip = AudioClipRegistry.Get(SoundPath); aSrc.loop = Loop; } }
// Use this for initialization private void Start() { textmgr = GameObject.Find("TextManager").GetComponent <TextManager>(); textmgr.setEffect(new TwitchEffect(textmgr)); encounter = FindObjectOfType <LuaEnemyEncounter>(); fightBtn = GameObject.Find("FightBt").GetComponent <Image>(); fightBtn.sprite = SpriteRegistry.Get("UI/Buttons/fightbt_0"); actBtn = GameObject.Find("ActBt").GetComponent <Image>(); actBtn.sprite = SpriteRegistry.Get("UI/Buttons/actbt_0"); itemBtn = GameObject.Find("ItemBt").GetComponent <Image>(); itemBtn.sprite = SpriteRegistry.Get("UI/Buttons/itembt_0"); mercyBtn = GameObject.Find("MercyBt").GetComponent <Image>(); mercyBtn.sprite = SpriteRegistry.Get("UI/Buttons/mercybt_0"); ArenaSizer.instance.ResizeImmediate(ArenaSizer.UIWidth, ArenaSizer.UIHeight); PlayerController.instance.setControlOverride(true); fightUI = GameObject.Find("FightUI").GetComponent <FightUIController>(); fightUI.gameObject.SetActive(false); bindEncounterScriptInteraction(); encounter.CallOnSelfOrChildren("EncounterStarting"); if (state == UIState.NONE) { SwitchState(UIState.ACTIONSELECT); } }
// Sets an animation for this instance with a frame timer public void SetAnimation(string[] spriteNames, float frametime) { Vector2 pivot = img.GetComponent <RectTransform>().pivot; Keyframe[] kfArray = new Keyframe[spriteNames.Length]; for (int i = 0; i < spriteNames.Length; i++) { kfArray[i] = new Keyframe(SpriteRegistry.Get(spriteNames[i]), spriteNames[i].ToLower()); } if (keyframes == null) { if (img.GetComponent <KeyframeCollection>()) { keyframes = img.GetComponent <KeyframeCollection>(); keyframes.enabled = true; } else { keyframes = img.AddComponent <KeyframeCollection>(); keyframes.spr = this; } } else { keyframes.enabled = true; } keyframes.loop = loop; keyframes.Set(kfArray, frametime); UpdateAnimation(); img.GetComponent <RectTransform>().pivot = pivot; }
public static void Launch() { //GameObject.Find("player").GetComponent<Image>().sprite = null; Camera.main.GetComponent <AudioSource>().clip = AudioClipRegistry.GetMusic("mus_gameover"); GameObject.Find("GameOver").GetComponent <Image>().sprite = SpriteRegistry.Get("UI/spr_gameoverbg_0"); GameObject.FindObjectOfType <GameOverBehavior>().StartDeath(null, null); }
public void initAll() { if (!Initialized) { Stopwatch sw = new Stopwatch(); //benchmarking terrible loading times sw.Start(); ScriptRegistry.init(); sw.Stop(); UnityEngine.Debug.Log("Script registry loading time: " + sw.ElapsedMilliseconds + "ms"); sw.Reset(); sw.Start(); SpriteRegistry.init(); sw.Stop(); UnityEngine.Debug.Log("Sprite registry loading time: " + sw.ElapsedMilliseconds + "ms"); sw.Reset(); sw.Start(); AudioClipRegistry.init(); sw.Stop(); UnityEngine.Debug.Log("Audio clip registry loading time: " + sw.ElapsedMilliseconds + "ms"); sw.Reset(); sw.Start(); SpriteFontRegistry.init(); sw.Stop(); UnityEngine.Debug.Log("Sprite font registry loading time: " + sw.ElapsedMilliseconds + "ms"); sw.Reset(); } LateUpdater.init(); // must be last; lateupdater's initialization is for classes that depend on the above registries MusicManager.src = Camera.main.GetComponent <AudioSource>(); }
// Use this for initialization void Start() { if (!SaveLoad.started) { StaticInits.Start(); SaveLoad.Start(); new ControlPanel(); new PlayerCharacter(); #if UNITY_STANDALONE_WIN || UNITY_EDITOR_WIN if (GlobalControls.crate) { Misc.WindowName = ControlPanel.instance.WinodwBsaisNmae; } else { Misc.WindowName = ControlPanel.instance.WindowBasisName; } #endif SaveLoad.LoadAlMighty(); LuaScriptBinder.Set(null, "ModFolder", MoonSharp.Interpreter.DynValue.NewString("@Title")); UnitaleUtil.AddKeysToMapCorrespondanceList(); } Camera.main.GetComponent <AudioSource>().clip = AudioClipRegistry.GetMusic("mus_intro"); Camera.main.GetComponent <AudioSource>().Play(); if (imagePaths.Length != textsToDisplay.Length) { throw new Exception("You need to have the same number of images and lines of text."); } text = GameObject.FindObjectOfType <TextManager>(); img = GameObject.Find("CutsceneImages").GetComponent <Image>(); text.SetVerticalSpacing(6); text.SetHorizontalSpacing(6); if (SpriteRegistry.Get("Intro/mask") != null) { mask = true; GameObject.Find("Mask").GetComponent <Image>().sprite = SpriteRegistry.Get("Intro/mask"); GameObject.Find("Mask").GetComponent <Image>().color = new Color(1, 1, 1, 1); } TextMessage[] mess = new TextMessage[textsToDisplay.Length]; for (int i = 0; i < mess.Length; i++) { mess[i] = new TextMessage("[waitall:2]" + textsToDisplay[i], false, false); } text.SetTextQueue(mess); img.sprite = SpriteRegistry.Get("Intro/" + imagePaths[0]); img.SetNativeSize(); if (specialEffects[0] != string.Empty) { try { ApplyEffect((Effect)Enum.Parse(typeof(Effect), specialEffects[currentIndex].ToUpper())); } catch { UnitaleUtil.DisplayLuaError("IntroManager", "The effect " + specialEffects[currentIndex] + " doesn't exist."); } } if (goToNextDirect[0] == "Y") { timer = 0.5f; } }
public static void InitAll(bool shaders = false) { if (!Initialized && (!GlobalControls.isInFight || GlobalControls.modDev)) { //UnitaleUtil.createFile(); Stopwatch sw = new Stopwatch(); //benchmarking terrible loading times sw.Start(); ScriptRegistry.Init(); sw.Stop(); UnityEngine.Debug.Log("Script registry loading time: " + sw.ElapsedMilliseconds + "ms"); sw.Reset(); sw.Start(); SpriteRegistry.Init(); sw.Stop(); UnityEngine.Debug.Log("Sprite registry loading time: " + sw.ElapsedMilliseconds + "ms"); sw.Reset(); sw.Start(); AudioClipRegistry.Init(); sw.Stop(); UnityEngine.Debug.Log("Audio clip registry loading time: " + sw.ElapsedMilliseconds + "ms"); sw.Reset(); sw.Start(); SpriteFontRegistry.Init(); sw.Stop(); UnityEngine.Debug.Log("Sprite font registry loading time: " + sw.ElapsedMilliseconds + "ms"); sw.Reset(); if (shaders) { sw.Start(); ShaderRegistry.Init(); sw.Stop(); UnityEngine.Debug.Log("Shader registry loading time: " + sw.ElapsedMilliseconds + "ms"); sw.Reset(); } } else { Initialized = true; } LateUpdater.Init(); // must be last; lateupdater's initialization is for classes that depend on the above registries MusicManager.src = Camera.main.GetComponent <AudioSource>(); SendLoaded(); //CurrENCOUNTER = ENCOUNTER; //CurrMODFOLDER = MODFOLDER; }
private void Awake() { fightB1 = SpriteRegistry.Get("UI/Buttons/fightbt_1"); actB1 = SpriteRegistry.Get("UI/Buttons/actbt_1"); itemB1 = SpriteRegistry.Get("UI/Buttons/itembt_1"); mercyB1 = SpriteRegistry.Get("UI/Buttons/mercybt_1"); sndSelect = AudioClipRegistry.GetSound("menumove"); sndConfirm = AudioClipRegistry.GetSound("menuconfirm"); arenaParent = GameObject.Find("arena_border_outer"); canvasParent = GameObject.Find("Canvas"); uiAudio = GetComponent <AudioSource>(); uiAudio.clip = sndSelect; instance = this; }
public static void Start() { if (!firstInit) { firstInit = true; SpriteRegistry.Start(); AudioClipRegistry.Start(); SpriteFontRegistry.Start(); } if (MODFOLDER == null || MODFOLDER == "") { MODFOLDER = EDITOR_MODFOLDER; } //if (CurrMODFOLDER != MODFOLDER || CurrENCOUNTER != ENCOUNTER) InitAll(); Initialized = true; }
public void SetTexture(string name, string sprite) { int property = IndexProperty(name, false); if (string.IsNullOrEmpty(sprite)) { throw new CYFException("shader.SetTexture: The second argument, the texture, needs to be the name of an image in your Sprites folder."); } Sprite spr = SpriteRegistry.Get(sprite); if (spr == null) { throw new CYFException("The sprite Sprites/" + sprite + ".png doesn't exist."); } material.SetTexture(property, spr.texture); }
public static void Start() { if (!firstInit) { firstInit = true; SpriteRegistry.Start(); AudioClipRegistry.Start(); SpriteFontRegistry.Start(); ShaderRegistry.Start(); } if (string.IsNullOrEmpty(MODFOLDER)) { MODFOLDER = EDITOR_MODFOLDER; } //if (CurrMODFOLDER != MODFOLDER || CurrENCOUNTER != ENCOUNTER) InitAll(); Initialized = true; }
public void SetAnimation(string[] spriteNames, float frametime) { Keyframe[] kfArray = new Keyframe[spriteNames.Length]; for (int i = 0; i < spriteNames.Length; i++) { kfArray[i] = new Keyframe(SpriteRegistry.Get(spriteNames[i])); } if (keyframes == null) { keyframes = img.gameObject.AddComponent <KeyframeCollection>(); keyframes.spr = this; } else { keyframes.enabled = true; } keyframes.Set(kfArray, frametime); }
//I know, there's WAY too much parameters in here, but I don't have the choice right now. //If I find a way to get the Table's text from DynValues, I'll gladly reduce the number of //parameters of this, but right now, even if it is very painful to enter directly 6 or 10 parameters, //I don't find a proper way to do this. (Erm...plus, I have to say that if I put arrays into this, //you'll have to write braces in the function, so just think that I give you a favor xP) /// <summary> /// Permits to display an image on the screen at given dimensions, position and color /// </summary> /// <param name="path"></param> /// <param name="id"></param> /// <param name="posX"></param> /// <param name="posY"></param> /// <param name="toneR"></param> /// <param name="toneG"></param> /// <param name="toneB"></param> /// <param name="toneA"></param> [CYFEventFunction] public void DispImg(string path, int id, float posX, float posY, int toneR = 255, int toneG = 255, int toneB = 255, int toneA = 255) { GameObject image; bool newImage = false; if (GameObject.Find("Image" + id) != null) { image = GameObject.Find("Image" + id); } else { newImage = true; image = Object.Instantiate(Resources.Load <GameObject>("Prefabs/ImageEvent")); image.name = "Image" + id; image.tag = "Event"; image.GetComponent <RectTransform>().SetParent(GameObject.Find("Canvas OW").transform); EventManager.instance.spriteControllers.Add("Image" + id, new LuaSpriteController(image.GetComponent <Image>())); } image.GetComponent <Image>().sprite = SpriteRegistry.Get(path); if (image.GetComponent <Image>().sprite == null) { throw new CYFException("Screen.DispImg: The sprite given doesn't exist."); } if (toneR < 0 || toneR > 255 || toneR % 1 != 0 || toneG < 0 || toneG > 255 || toneG % 1 != 0 || toneB < 0 || toneB > 255 || toneB % 1 != 0) { throw new CYFException("Screen.DispImg: You can't input a value out of [0; 255] for a color value, as it is clamped from 0 to 255.\nThe number have to be an integer."); } if (toneA >= 0 && toneA <= 255 && toneR % 1 == 0) { image.GetComponent <Image>().color = new Color32((byte)toneR, (byte)toneG, (byte)toneB, (byte)toneA); } image.GetComponent <RectTransform>().sizeDelta = image.GetComponent <Image>().sprite.bounds.size * 100; image.GetComponent <RectTransform>().position = (Vector2)Camera.main.transform.position + new Vector2(posX - 320, posY - 240); if (newImage) { EventManager.instance.events.Add(image); } appliedScript.Call("CYFEventNextCommand"); }
public static void SwapSpriteFromFile(MonoBehaviour target, string filename) { try { Sprite newSprite = SpriteRegistry.Get(filename); if (newSprite == null) { newSprite = fromFile(FileLoader.pathToModFile("Sprites/" + filename + ".png")); SpriteRegistry.Set(filename, newSprite); } Image img = target.GetComponent <Image>(); img.sprite = newSprite; //enemyImg.SetNativeSize(); img.rectTransform.sizeDelta = new Vector2(newSprite.texture.width, newSprite.texture.height); } catch (Exception) { // TODO do something I guess } }
void Start() { Camera.main.GetComponent <AudioSource>().clip = AudioClipRegistry.GetMusic("mus_gameover"); GameObject.Find("GameOver").GetComponent <Image>().sprite = SpriteRegistry.Get("UI/spr_gameoverbg_0"); GameObject.FindObjectOfType <GameOverBehavior>().StartDeath(); }
private void LateStart() { if (this == null) { return; } //bool hasError = false; if ((done || !handleDictErrors) && (doneFromLoadedScene || handleDictErrors)) { return; } if (!done && handleDictErrors) { done = true; } else { doneFromLoadedScene = true; } bool currHandleDictErrors = handleDictErrors; if (!string.IsNullOrEmpty(SpritePath)) { Image img = GetComponent <Image>(); SpriteRenderer img2 = GetComponent <SpriteRenderer>(); ParticleSystemRenderer img3 = GetComponent <ParticleSystemRenderer>(); if (img != null) { img.sprite = SpriteRegistry.Get(SpritePath); if (img.sprite == null && currHandleDictErrors) { UnitaleUtil.DisplayLuaError("AutoloadResourcesFromRegistry", "You tried to load the sprite \"" + SpritePath + "\", but it doesn't exist."); return; } //if (img.sprite == null) //hasError = true; if (img.sprite != null) { //img.sprite.name = SpritePath.ToLower(); TODO: Find a way to store the sprite's path if (SetNativeSize) { img.SetNativeSize(); if (!UnitaleUtil.IsOverworld) { img.rectTransform.localScale = new Vector3(1, 1, 1); img.rectTransform.sizeDelta = new Vector2(img.sprite.texture.width, img.sprite.texture.height); } else { img.rectTransform.localScale = new Vector3(100, 100, 1); img.rectTransform.sizeDelta = new Vector2(img.sprite.texture.width / 100f, img.sprite.texture.height / 100f); } } } } else if (img2 != null) { img2.sprite = SpriteRegistry.Get(SpritePath); if (img2.sprite == null && currHandleDictErrors) { UnitaleUtil.DisplayLuaError("AutoloadResourcesFromRegistry", "You tried to load the sprite \"" + SpritePath + "\", but it doesn't exist."); return; } //if (img2.sprite == null) //hasError = true; if (img2.sprite != null) { //img2.sprite.name = SpritePath.ToLower(); if (SetNativeSize) { if (!UnitaleUtil.IsOverworld) { img2.transform.localScale = new Vector3(1, 1, 1); img2.GetComponent <RectTransform>().sizeDelta = new Vector2(img2.sprite.texture.width, img2.sprite.texture.height); } else { img2.transform.localScale = new Vector3(100, 100, 1); img2.GetComponent <RectTransform>().sizeDelta = new Vector2(img2.sprite.texture.width / 100f, img2.sprite.texture.height / 100f); } } } } else if (img3 != null) { img3.material.mainTexture = SpriteRegistry.Get(SpritePath).texture; } else { throw new CYFException("The GameObject " + gameObject.name + " doesn't have an Image, Sprite Renderer or Particle System component."); } } /* * if (!string.IsNullOrEmpty(SoundPath) && !hasError) { * AudioSource aSrc = GetComponent<AudioSource>(); * aSrc.clip = AudioClipRegistry.Get(SoundPath); * aSrc.loop = Loop; * } */ handleDictErrors = true; }
public void StartDeath(string[] newDeathText = null, string newDeathMusic = null) { PlayerOverworld.audioCurrTime = 0; if (!UnitaleUtil.IsOverworld) { UIController.instance.encounter.EndWave(true); autolinebreakstate = EnemyEncounter.script.GetVar("autolinebreak").Boolean; EnemyEncounter.script.SetVar("autolinebreak", DynValue.NewBoolean(true)); transform.position = new Vector3(transform.position.x - Misc.cameraX, transform.position.y - Misc.cameraY, transform.position.z); } else { autolinebreakstate = true; } deathText = newDeathText; deathMusic = newDeathMusic; //Reset the camera's position Misc.MoveCameraTo(0, 0); playerZ = 130; if (UnitaleUtil.IsOverworld) { playerParent = transform.parent.parent; playerIndex = transform.parent.GetSiblingIndex(); // transform.parent.SetParent(null); } else { playerParent = transform.parent; playerIndex = transform.GetSiblingIndex(); transform.SetParent(null); } if (UnitaleUtil.IsOverworld) { /* transform.parent.position = new Vector3(transform.parent.position.x - GameObject.Find("Main Camera OW").transform.position.x - 320, * transform.parent.position.y - GameObject.Find("Main Camera OW").transform.position.y - 240, transform.parent.position.z); */ battleCamera = GameObject.Find("Main Camera OW"); battleCamera.SetActive(false); GetComponent <SpriteRenderer>().enabled = true; // stop showing the player } else { UIController.instance.encounter.gameOverStance = true; GetComponent <PlayerController>().invulTimer = 0; GetComponent <Image>().enabled = true; // abort the blink animation if it was playing battleCamera = GameObject.Find("Main Camera"); battleCamera.SetActive(false); battleContainer = GameObject.Find("Canvas"); battleContainer.GetComponent <Canvas>().enabled = false; } // remove all bullets if in retrocompatibility mode if (GlobalControls.retroMode) { foreach (LuaProjectile p in FindObjectsOfType <LuaProjectile>()) { BulletPool.instance.Requeue(p); } } /*battleContainer = new GameObject("BattleContainer"); * foreach (Transform go in UnitaleUtil.GetFirstChildren(null, false)) * if (go.name != battleContainer.name &&!go.GetComponent<LuaEnemyEncounter>() && go.name != Player.name &&!go.name.Contains("AudioChannel")) * go.SetParent(battleContainer.transform); * battleContainer.SetActive(false);*/ if (UnitaleUtil.IsOverworld) { gameOverContainerOw.SetActive(true); } else { gameOverContainer.SetActive(true); } ScreenResolution.BoxCameras(Screen.fullScreen); Camera.main.GetComponent <AudioSource>().clip = AudioClipRegistry.GetMusic("mus_gameover"); GameObject.Find("GameOver").GetComponent <Image>().sprite = SpriteRegistry.Get("UI/spr_gameoverbg_0"); if (UnitaleUtil.IsOverworld) { utHeart = Instantiate(GameObject.Find("utHeart")); heartColor = utHeart.GetComponent <Image>().color; heartColor.a = 1; } else { heartColor = gameObject.GetComponent <Image>().color; gameObject.transform.SetParent(GameObject.Find("Canvas GameOver").transform); } //if (overworld) // gameObject.transform.SetParent(GameObject.Find("Canvas OW").transform); //else PlayerCharacter.instance.HP = PlayerCharacter.instance.MaxHP; if (UnitaleUtil.IsOverworld) { gameObject.transform.GetComponent <SpriteRenderer>().enabled = false;// gameObject.transform.parent.SetParent(GameObject.Find("Canvas GameOver").transform); } else { gameObject.transform.SetParent(GameObject.Find("Canvas GameOver").transform); UIStats.instance.setHP(PlayerCharacter.instance.MaxHP); } brokenHeartPrefab = Resources.Load <GameObject>("Prefabs/heart_broken"); if (SpriteRegistry.GENERIC_SPRITE_PREFAB == null) { SpriteRegistry.GENERIC_SPRITE_PREFAB = Resources.Load <Image>("Prefabs/generic_sprite"); } heartShardPrefab = SpriteRegistry.GENERIC_SPRITE_PREFAB.gameObject; reviveText = GameObject.Find("ReviveText").GetComponent <TextManager>(); reviveText.SetCaller(EnemyEncounter.script); reviveFade = GameObject.Find("ReviveFade").GetComponent <Image>(); reviveFade.transform.SetAsLastSibling(); gameOverTxt = GameObject.Find("TextParent").GetComponent <TextManager>(); gameOverTxt.SetCaller(EnemyEncounter.script); gameOverImage = GameObject.Find("GameOver").GetComponent <Image>(); if (UnitaleUtil.IsOverworld) { /* * heartPos = new Vector3(GetComponent<RectTransform>().position.x - transform.parent.position.x, * GetComponent<RectTransform>().position.y + (GetComponent<RectTransform>().sizeDelta.y / 2) - transform.parent.position.y, * GetComponent<RectTransform>().position.z + 100010); */ heartPos = new Vector3((transform.parent.position.x - GameObject.Find("Canvas OW").transform.position.x) + 320, ((transform.parent.position.y + (GetComponent <RectTransform>().sizeDelta.y / 2)) - GameObject.Find("Canvas OW").transform.position.y) + 240, GetComponent <RectTransform>().position.z + 100010); } else { heartPos = gameObject.GetComponent <RectTransform>().position; } gameOverMusic = Camera.main.GetComponent <AudioSource>(); started = true; }
public void StartDeath(string[] deathText = null, string deathMusic = null) { PlayerOverworld.audioCurrTime = 0; if (!UnitaleUtil.IsOverworld) { UIController.instance.encounter.EndWave(true); autolinebreakstate = LuaEnemyEncounter.script.GetVar("autolinebreak").Boolean; LuaEnemyEncounter.script.SetVar("autolinebreak", MoonSharp.Interpreter.DynValue.NewBoolean(true)); } else { autolinebreakstate = true; } this.deathText = deathText; this.deathMusic = deathMusic; playerZ = 130; if (UnitaleUtil.IsOverworld) { playerParent = transform.parent.parent; playerIndex = transform.parent.GetSiblingIndex(); transform.parent.SetParent(null); } else { playerParent = transform.parent; playerIndex = transform.GetSiblingIndex(); transform.SetParent(null); } if (UnitaleUtil.IsOverworld) { transform.parent.position = new Vector3(transform.parent.position.x - GameObject.Find("Main Camera OW").transform.position.x - 320, transform.parent.position.y - GameObject.Find("Main Camera OW").transform.position.y - 240, transform.parent.position.z); battleCamera = GameObject.Find("Main Camera OW"); battleCamera.SetActive(false); GetComponent <SpriteRenderer>().enabled = true; // stop showing the player } else { UIController.instance.encounter.gameOverStance = true; GetComponent <PlayerController>().invulTimer = 0; GetComponent <Image>().enabled = true; // abort the blink animation if it was playing battleCamera = GameObject.Find("Main Camera"); battleCamera.SetActive(false); } /*battleContainer = new GameObject("BattleContainer"); * foreach (Transform go in UnitaleUtil.GetFirstChildren(null, false)) * if (go.name != battleContainer.name &&!go.GetComponent<LuaEnemyEncounter>() && go.name != Player.name &&!go.name.Contains("AudioChannel")) * go.SetParent(battleContainer.transform); * battleContainer.SetActive(false);*/ if (UnitaleUtil.IsOverworld) { gameOverContainerOw.SetActive(true); } else { gameOverContainer.SetActive(true); } Camera.main.GetComponent <AudioSource>().clip = AudioClipRegistry.GetMusic("mus_gameover"); GameObject.Find("GameOver").GetComponent <Image>().sprite = SpriteRegistry.Get("UI/spr_gameoverbg_0"); if (UnitaleUtil.IsOverworld) { utHeart = Instantiate(GameObject.Find("utHeart")); heartColor = utHeart.GetComponent <Image>().color; heartColor.a = 1; } else { heartColor = gameObject.GetComponent <Image>().color; gameObject.transform.SetParent(GameObject.Find("Canvas GameOver").transform); } //if (overworld) // gameObject.transform.SetParent(GameObject.Find("Canvas OW").transform); //else if (UnitaleUtil.IsOverworld) { gameObject.transform.parent.SetParent(GameObject.Find("Canvas GameOver").transform); } else { gameObject.transform.SetParent(GameObject.Find("Canvas GameOver").transform); } PlayerCharacter.instance.HP = PlayerCharacter.instance.MaxHP; brokenHeartPrefab = Resources.Load <GameObject>("Prefabs/heart_broken"); if (SpriteRegistry.GENERIC_SPRITE_PREFAB == null) { SpriteRegistry.GENERIC_SPRITE_PREFAB = Resources.Load <Image>("Prefabs/generic_sprite"); } heartShardPrefab = SpriteRegistry.GENERIC_SPRITE_PREFAB.gameObject; reviveText = GameObject.Find("ReviveText").GetComponent <TextManager>(); reviveFade = GameObject.Find("ReviveFade").GetComponent <Image>(); reviveFade.transform.SetAsLastSibling(); gameOverTxt = GameObject.Find("TextParent").GetComponent <TextManager>(); gameOverImage = GameObject.Find("GameOver").GetComponent <Image>(); if (UnitaleUtil.IsOverworld) { heartPos = new Vector3(GetComponent <RectTransform>().position.x, GetComponent <RectTransform>().position.y + GetComponent <RectTransform>().sizeDelta.y / 2, GetComponent <RectTransform>().position.z); } else { heartPos = gameObject.GetComponent <RectTransform>().position; } gameOverMusic = Camera.main.GetComponent <AudioSource>(); started = true; }
// Update is called once per frame void Update() { timer += Time.deltaTime; //Effect update if (CheckEffect() && !start && !finish && !fadeMusic) { UpdateEffect(); } //Stop the intro if (Input.anyKeyDown && !Input.GetKeyDown(KeyCode.F4)) { Camera.main.GetComponent <AudioSource>().Stop(); Camera.main.GetComponent <AudioSource>().volume = 1; SceneManager.LoadScene("TitleScreen"); } //Fade out if (finish && !fadeMusic && !CheckEffect()) { if (timer < 1.75f && !pause) { pause = true; } if (timer < 1.75f && timer > 1 && !sameImage) { img.color = new Color(img.color.r, img.color.g, img.color.b, (-timer + 1.75f) * 4 / 3); } else if (timer > 1.75f && pause) { pause = false; timer = 0.0f; finish = false; img.color = new Color(img.color.r, img.color.g, img.color.b, 0); //Check end of intro if (text.AllLinesComplete()) { fadeMusic = true; text.DestroyChars(); } else { img.sprite = SpriteRegistry.Get("Intro/" + imagePaths[++currentIndex]); img.SetNativeSize(); img.rectTransform.pivot = new Vector2(0.5f, 0.5f); img.rectTransform.position = new Vector2(320, 240); timerEffect = 0.0f; if (specialEffects[currentIndex] != string.Empty) { try { ApplyEffect((Effect)Enum.Parse(typeof(Effect), specialEffects[currentIndex])); } catch { UnitaleUtil.DisplayLuaError("IntroManager", "The effect " + specialEffects[currentIndex] + " doesn't exist."); } } text.NextLineText(); start = true; } } //Fade in } else if (start && !fadeMusic) { if (timer < 0.5f && !sameImage) { img.color = new Color(img.color.r, img.color.g, img.color.b, 2 * timer); } else { start = false; img.color = new Color(img.color.r, img.color.g, img.color.b, 1); timer = 0.0f; if (currentIndex != textsToDisplay.Length - 1) { if (goToNextDirect[currentIndex + 1] == "Y") { sameImage = true; } else if (goToNextDirect[currentIndex + 1] == "N") { sameImage = false; } else if (imagePaths[currentIndex] == imagePaths[currentIndex + 1]) { sameImage = true; } else { sameImage = false; } } else { sameImage = false; } } //End of intro } else if (fadeMusic) { if (timer < 1) { Camera.main.GetComponent <AudioSource>().volume = 1 - timer; } else { Camera.main.GetComponent <AudioSource>().Stop(); Camera.main.GetComponent <AudioSource>().volume = 1; SceneManager.LoadScene("TitleScreen"); } //End of current page } else if (text.LineComplete() && !start && !CheckEffect()) { finish = true; timer = 0; } }
// Sets an animation for this instance with a frame timer public void SetAnimation(string[] spriteNames, float frametime, string prefix = "") { if (spriteNames == null) { throw new CYFException("sprite.SetAnimation: The first argument (list of images) is nil.\n\nSee the documentation for proper usage."); } if (spriteNames.Length == 0) { throw new CYFException("sprite.SetAnimation: No sequence of animations was provided (animation table is empty)."); } if (frametime < 0) { throw new CYFException("sprite.SetAnimation: An animation can not have negative speed!"); } if (frametime == 0) { throw new CYFException("sprite.SetAnimation: An animation can not play at 0 frames per second!"); } if (prefix != "") { while (prefix.StartsWith("/")) { prefix = prefix.Substring(1); } if (!prefix.EndsWith("/")) { prefix += "/"; } for (int i = 0; i < spriteNames.Length; i++) { spriteNames[i] = prefix + spriteNames[i]; } } Vector2 pivot = img.GetComponent <RectTransform>().pivot; Keyframe[] kfArray = new Keyframe[spriteNames.Length]; for (int i = 0; i < spriteNames.Length; i++) { // at least one sprite in the sequence was unable to be loaded if (SpriteRegistry.Get(spriteNames[i]) == null) { throw new CYFException("sprite.SetAnimation: Failed to load sprite with the name \"" + spriteNames[i] + "\". Are you sure it is spelled correctly?"); } kfArray[i] = new Keyframe(SpriteRegistry.Get(spriteNames[i]), spriteNames[i].ToLower()); } if (keyframes == null) { if (img.GetComponent <KeyframeCollection>()) { keyframes = img.GetComponent <KeyframeCollection>(); keyframes.enabled = true; } else { keyframes = img.AddComponent <KeyframeCollection>(); keyframes.spr = this; } } else { keyframes.enabled = true; } keyframes.loop = loop; keyframes.Set(kfArray, frametime); UpdateAnimation(); img.GetComponent <RectTransform>().pivot = pivot; }
public static void SwapSpriteFromFile(Component target, string filename, int bubbleID = -1) { try { if (bubbleID != -1) { FileInfo fi = new FileInfo(Path.ChangeExtension(FileLoader.pathToModFile("Sprites/" + filename + ".png"), "xml")); if (!fi.Exists) { fi = new FileInfo(Path.ChangeExtension(FileLoader.pathToDefaultFile("Sprites/" + filename + ".png"), "xml")); } if (fi.Exists) { XmlDocument xmld = new XmlDocument(); xmld.Load(fi.FullName); if (xmld["spritesheet"] != null && "single".Equals(xmld["spritesheet"].GetAttribute("type"))) { if (!UnitaleUtil.IsOverworld) { UIController.instance.encounter.EnabledEnemies[bubbleID].bubbleWidth = ParseUtil.GetFloat(xmld["spritesheet"].GetElementsByTagName("width").Count > 0 ? xmld["spritesheet"].GetElementsByTagName("width")[0].InnerText : xmld["spritesheet"].GetElementsByTagName("wideness")[0].InnerText); } } } else { UIController.instance.encounter.EnabledEnemies[bubbleID].bubbleWidth = 0; } } } catch (Exception) { UIController.instance.encounter.EnabledEnemies[bubbleID].bubbleWidth = 0; } Sprite newSprite = SpriteRegistry.Get(filename); if (newSprite == null) { if (filename.Length == 0) { Debug.LogError("SwapSprite: Filename is empty!"); return; } newSprite = FromFile(FileLoader.pathToModFile("Sprites/" + filename + ".png")); if (newSprite == null) { throw new CYFException("The sprite Sprites/" + filename + ".png doesn't exist."); } SpriteRegistry.Set(filename, newSprite); } Image img = target.GetComponent <Image>(); if (!img) { SpriteRenderer img2 = target.GetComponent <SpriteRenderer>(); Vector2 pivot = img2.GetComponent <RectTransform>().pivot; img2.sprite = newSprite; img2.GetComponent <RectTransform>().sizeDelta = new Vector2(newSprite.texture.width, newSprite.texture.height); img2.GetComponent <RectTransform>().pivot = pivot; } else { Vector2 pivot = img.rectTransform.pivot; img.sprite = newSprite; //enemyImg.SetNativeSize(); img.rectTransform.sizeDelta = new Vector2(newSprite.texture.width, newSprite.texture.height); img.rectTransform.pivot = pivot; } }