public IEnumerator EnableRoutine(string firstSpeaker, bool useNameboxes = true) { isDisplaying = true; Global.Instance().Input.PushListener(this); namebox1.transform.parent.GetComponent <CanvasGroup>().alpha = 0.0f; namebox2.transform.parent.GetComponent <CanvasGroup>().alpha = 0.0f; if (useNameboxes) { yield return(CoUtils.RunParallel(new IEnumerator[] { CoUtils.RunTween(backer.DOAnchorMax(new Vector2(0.5f, backerAnchor), backerAnimationSeconds)), CoUtils.Delay(combinedAnimDelaySeconds, CoUtils.RunParallel(new IEnumerator[] { firstSpeaker == unit1.ToString() ? ShowName1Routine(boxAnimationSeconds) : ShowName2Routine(boxAnimationSeconds), OpenBoxRoutine(boxAnimationSeconds), }, this)), }, this)); } else { yield return(CoUtils.RunParallel(new IEnumerator[] { CoUtils.RunTween(backer.DOAnchorMax(new Vector2(0.5f, backerAnchor), backerAnimationSeconds)), CoUtils.Delay(combinedAnimDelaySeconds, OpenBoxRoutine(boxAnimationSeconds)), }, this)); } }
public IEnumerator MenuRoutine() { yield return(CoUtils.RunTween(GetComponent <CanvasGroup>().DOFade(1.0f, 0.8f))); Global.Instance().Input.PushListener("pause", (cmd, ev) => { if (ev != InputManager.Event.Up) { return(true); } if (cmd == InputManager.Command.Quit) { Application.Quit(); } if (cmd == InputManager.Command.Confirm) { StartCoroutine(DieRoutine()); } if (cmd == InputManager.Command.Debug) { lua.Initialize(); StartCoroutine(lua.RunRoutine(new LuaScript(lua, fixitScript.luaString), true)); StartCoroutine(DieRoutine()); } return(true); }); }
public IEnumerator PlayMessageRoutine(Message message, float forceLength = 0.0f, bool isStale = false) { if (message.Client != messenger.Me) { SwitchToFromMode(); UpdateFromMessenger(messenger); } else { SwitchToToMode(); UpdateFromMessenger(messenger); } if (!isStale && !isFirstMessage) { if (message.Client == messenger.Me) { Global.Instance().Audio.PlaySFX("type_message"); } else if (!isStale) { Global.Instance().Audio.PlaySFX("receive_message"); } } isFirstMessage = false; if (forceLength > 0) { yield return(CoUtils.Wait(forceLength)); } else { yield return(Global.Instance().Input.ConfirmRoutine()); } }
private IEnumerator FlipOpenRoutine() { StartCoroutine(HideMiniRoutine()); yield return(CoUtils.Wait(flipMiniDuration * .7f)); yield return(ShowBigRoutine()); }
public IEnumerator NewGameRoutine(FadeImageEffect fade) { IsTransitioning = true; TransitionData data = IndexDatabase.Instance().Transitions.GetData("fade_long"); Global.Instance().Messenger.SetNextScript("y!sms/1_01", true); Global.Instance().Messenger.SetNextScript("bell/bell", true); Global.Instance().Data.SetSwitch("nighttime", true); Global.Instance().Audio.PlayBGM("nighttime"); yield return(SceneManager.LoadSceneAsync("Map2D")); MapOverlayUI.Instance().pcSystem.SetNewsModel(IndexDatabase.Instance().PCNews.GetData("day1")); Global.Instance().Maps.RawTeleport("Apartment/Apartment", "start", OrthoDir.East); Avatar.PauseInput(); var fadeImage = Camera.GetComponent <FadeImageEffect>(); yield return(fadeImage.FadeRoutine(IndexDatabase.Instance().Fades.GetData(data.FadeOutTag), false, 0.0f)); yield return(fadeImage.FadeRoutine(IndexDatabase.Instance().Fades.GetData(data.FadeInTag), true, 3.0f)); yield return(CoUtils.RunTween(MapOverlayUI.Instance().miniPhone.transform.DOLocalMoveY(0.0f, 1.0f))); IsTransitioning = false; Avatar.UnpauseInput(); }
public IEnumerator SpeakRoutine(string speakerName, string text) { if (!isDisplaying) { namebox.enabled = speakerName != SystemSpeaker; namebox.text = speakerName; yield return(EnableRoutine()); } else { yield return(EraseTextRoutine(textClearSeconds)); if (namebox.text != speakerName) { yield return(CoUtils.RunParallel(new IEnumerator[] { CloseBoxRoutine(boxAnimationSeconds), EraseNameRoutine(boxAnimationSeconds), }, this)); namebox.enabled = speakerName != SystemSpeaker; namebox.text = speakerName; yield return(CoUtils.RunParallel(new IEnumerator[] { OpenBoxRoutine(boxAnimationSeconds), ShowNameRoutine(boxAnimationSeconds), }, this)); } } yield return(TypeRoutine(text)); }
public IEnumerator ActivateRoutine(RogueUI ui, PCEvent pc, int level) { this.pc = pc; this.ui = ui; rightFace.hpBar.gameObject.SetActive(false); rightFace.mpBar.gameObject.SetActive(false); rightFace.cdBar.gameObject.SetActive(false); PopulateBookData(); bookBox.Populate(bookData); bookBox.selection = 0; PopulateScrollBoxForSelectedBook(); levelText.text = "Cleared floor " + level + " with " + pc.gold + " gold. " + "Craft spellbooks and challenge next floor! Press [ESC] when done."; PopulateTools(); textbox.textbox.GetComponent <CanvasGroup>().alpha = 1.0f; ui.rightDisplayEnabled = true; UpdateDescriptionForSelectedBook(); yield return(CoUtils.RunTween(GetComponent <CanvasGroup>().DOFade(1.0f, 1.0f))); yield return(textbox.EnableRoutine(null, false)); descriptionNameBox.transform.parent.GetComponent <CanvasGroup>().alpha = 1.0f; yield return(SelectBookRoutine()); }
private IEnumerator FlipShutRoutine() { StartCoroutine(HideBigRoutine()); yield return(CoUtils.Wait(flipBigDuration * .7f)); yield return(ShowMiniRoutine()); }
public override IEnumerator TeleportRoutine(AvatarEvent avatar) { if (avatar.GetComponent <CharaEvent>().facing != dir) { yield break; } if (Global.Instance().Memory.GetSwitch("lift_" + floor)) { yield return(base.TeleportRoutine(avatar)); } else { string oldName = gameObject.name; string origName = GetComponent <MapEvent>().parent.name; mapName = "ElevatorShaft"; targetEventName = "target"; yield return(base.TeleportRoutine(avatar)); avatar.PauseInput(); yield return(CoUtils.Wait(2.0f)); yield return(CoUtils.RunParallel(new IEnumerator[] { avatar.GetComponent <MapEvent>().StepRoutine(OrthoDir.South), CoUtils.Wait(0.4f) }, Global.Instance())); targetEventName = oldName; yield return(Global.Instance().Maps.TeleportRoutine(origName, targetEventName)); avatar.UnpauseInput(); } }
public override IEnumerator ExecuteCellsRoutine(List <Vector2Int> locations) { yield return(battler.SyncPlayAnim(skill.castAnim)); foreach (Vector2Int location in locations) { BattleEvent target = map.GetEventAt <BattleEvent>(location); if (target == null) { continue; } BattleUnit other = target.unit; battler.GetComponent <CharaEvent>().FaceToward(other.battler.GetComponent <MapEvent>()); EightDir dir = battler.GetComponent <MapEvent>().DirectionTo(other.battler.GetComponent <MapEvent>()); int power = Mathf.RoundToInt(Random.Range(knockbackMin, knockbackMax)); other.battler.Knockback(dir, power); yield return(CoUtils.Wait(0.2f)); if (actor.Get(StatTag.ATTACKS) < 0.5) { actor.isRecovering = true; } if (damageHigh > 0) { int dmg = Mathf.RoundToInt(Random.Range(damageLow, damageHigh)); battle.Log(other + " took " + dmg + " damage."); other.TakeDamage(dmg, damageAnimation); } } }
public override void OnInspectorGUI() { base.OnInspectorGUI(); AnimationPlayer player = (AnimationPlayer)target; if (player.anim != null && Application.IsPlaying(player)) { Editor.CreateEditor(player.anim).DrawDefaultInspector(); if (!player.isPlayingAnimation) { if (GUILayout.Button("Play animation")) { player.StartCoroutine(CoUtils.RunWithCallback(player.PlayAnimationRoutine(), () => { Repaint(); })); } } else { GUILayout.Label("Running..."); if (GUILayout.Button("(cancel)")) { player.EditorReset(); } } } }
protected virtual IEnumerator NameboxSpeakerSwitchEndRoutine(float seconds) { yield return(CoUtils.RunParallel(new IEnumerator[] { ShowMainBoxRoutine(animationSeconds), ShowNameBoxRoutine(animationSeconds), }, this)); }
public override void OnInspectorGUI() { base.OnInspectorGUI(); AnimationPlayer player = (AnimationPlayer)target; if (player.anim != null) { if (Application.IsPlaying(player)) { if (!player.isPlayingAnimation) { if (GUILayout.Button("Play animation")) { if (player.GetComponent <BattleEvent>()) { player.GetComponent <CharaEvent>().doll.GetComponent <CharaAnimationTarget>() .ConfigureToBattler(player.GetComponent <BattleEvent>()); } player.StartCoroutine(CoUtils.RunWithCallback(player.PlayAnimationRoutine(), () => { Repaint(); })); } } else { GUILayout.Label("Running..."); if (GUILayout.Button("(cancel)")) { player.EditorReset(); } } } } }
protected virtual IEnumerator CloseMainBoxRoutine(float seconds) { yield return(CoUtils.RunParallel(new IEnumerator[] { CoUtils.RunTween(mainBox.DOSizeDelta(new Vector2(mainBox.sizeDelta.x, minTextHeight), seconds)), CoUtils.RunTween(mainBox.DOLocalMoveY(-minTextHeight * 2 + OverlapSlop, seconds, true)), }, this)); }
protected virtual IEnumerator NameboxSpeakerSwitchStartRoutine(float seconds) { yield return(CoUtils.RunParallel(new IEnumerator[] { CloseMainBoxRoutine(seconds), HideNameBoxRoutine(seconds), }, this)); }
private IEnumerator OblivionRoutine() { Global.Instance().Memory.SetSwitch("glitch_on", true); PhuneUI ui = FindObjectOfType <PhuneUI>(); Global.Instance().Maps.avatar.PauseInput(); GlitchImageEffect glitch = FindObjectOfType <Camera>().GetComponent <GlitchImageEffect>(); Countdowner count = ui.gameObject.transform.parent.GetComponentInChildren <Countdowner>(true); yield return(ui.HideRoutine()); yield return(CoUtils.Wait(0.5f)); Global.Instance().Audio.PlaySFX("lightswitch"); Global.Instance().Audio.FadeOutRoutine(0.6f); for (int i = 0; i < 20; i += 1) { glitch.enabled = !glitch.enabled; Global.Instance().Memory.SetSwitch("ghoulie", glitch.enabled); yield return(CoUtils.Wait(Random.Range(0.025f, 0.05f))); } Global.Instance().Memory.SetSwitch("ghoulie", false); glitch.enabled = true; CoUtils.Wait(1.0f); Global.Instance().Audio.PlayBGM("silvereyes"); //count.enabled = true; //count.value = 60; Global.Instance().Maps.avatar.UnpauseInput(); }
protected virtual IEnumerator ShowMainBoxRoutine(float seconds) { yield return(CoUtils.RunParallel(new IEnumerator[] { CoUtils.RunTween(mainBox.DOSizeDelta(new Vector2(mainBox.sizeDelta.x, textMaxSize.y), seconds)), CoUtils.RunTween(mainBox.DOLocalMoveY(0.0f, seconds, true)), }, this)); }
public IEnumerator PostMortemRoutine(BattleUnit killer) { halting = true; pc.unit.unit.stats.Set(StatTag.HP, 0); Populate(); yield return(PrepareTalkRoutine(killer)); face2.Populate(killer); rightDisplayEnabled = true; narrator.Clear(); yield return(fader.FadeRoutine(fader.startFade, false)); LuaScript script = new LuaScript(GetComponent <LuaContext>(), killer.unit.luaOnDefeat); GetComponent <LuaContext>().SetGlobal("name", killer.ToString()); yield return(script.RunRoutine()); rightDisplayEnabled = false; postMortem.text = "Made it to floor " + pc.battle.map.GetComponent <MapGenerator>().level + " before a disastrous encounter with " + killer; postMortem.text += "\n\nGot " + pc.gold + " gold out of it though!"; postMortem.text = postMortem.text.Replace("\\n", "\n"); yield return(CoUtils.RunTween(GetComponent <CanvasGroup>().DOFade(0.0f, 3.0f))); yield return(CoUtils.RunTween(postMortem.GetComponent <CanvasGroup>().DOFade(1.0f, 1.0f))); yield return(CoUtils.Wait(3.0f)); yield return(CoUtils.RunTween(postMortem.GetComponent <CanvasGroup>().DOFade(0.0f, 3.0f))); killer.battle.GetComponent <LineOfSightEffect>().sitemap = null; SceneManager.LoadScene("Title", LoadSceneMode.Single); }
public IEnumerator PlayBackDamageRoutine(Unit target, int damage) { yield return(CoUtils.RunParallel(new IEnumerator[] { WriteLineRoutine(BattleBox.Tab + target.Name + " takes " + damage + " damage."), AnimateDamageRoutine(target, damage), }, this)); }
public IEnumerator HideRoutine() { player.Stop(); yield return(CoUtils.RunTween(canvas.DOFade(0.0f, 0.8f))); canvas.gameObject.SetActive(false); }
public void SetNextScript(string scriptName, bool preread, float delay = 0.0f) { var script = SmsScript.LoadByName(scriptName); Global.Instance().StartCoroutine(CoUtils.RunAfterDelay(delay, () => { SetNextScript(script, preread); })); }
private IEnumerator cs_scale(DynValue args) { float x = FloatArg(args, ArgX); float y = FloatArg(args, ArgY); float duration = FloatArg(args, ArgDuration); yield return(CoUtils.RunTween(transform.DOScale(new Vector3(x, y, transform.localScale.z), duration))); }
public IEnumerator PlayRoutine() { canvas.gameObject.SetActive(true); canvas.alpha = 0.0f; yield return(CoUtils.RunTween(canvas.DOFade(1.0f, 0.8f))); player.Play(); }
public IEnumerator PlayOnceRoutine() { foreach (Sprite sprite in frames) { GetComponent <SpriteRenderer>().sprite = sprite; yield return(CoUtils.Wait(frameDuration)); } }
protected override IEnumerator CloseMainBoxRoutine(float seconds) { yield return(EraseTextRoutine(seconds / 2f)); yield return(CoUtils.StepResize2(x => mainBox.sizeDelta = x, mainBox.sizeDelta, new Vector2(minTextHeight, minTextHeight), StepSize, seconds)); mainBox.gameObject.SetActive(false); }
public void TransitionFromOldLos(float duration) { visBlend = 0.0f; Tweener tween = DOTween.To(() => visBlend, x => visBlend = x, 1.0f, duration); tween.SetEase(Ease.Linear); StartCoroutine(CoUtils.RunTween(tween)); }
void Start() { StartCoroutine(CoUtils.RunAfterDelay(1.0f, () => { StartCoroutine(FindObjectOfType <PhuneUI>().ShowRoutine()); StartCoroutine(CoUtils.RunAfterDelay(1.0f, () => { on = true; })); })); }
public IEnumerator disableRoutine() { if (gameObject.activeSelf) { yield return(CoUtils.RunTween(GetComponent <CanvasGroup>().DOFade(0.0f, fadeTime))); gameObject.SetActive(false); } }
public IEnumerator enableRoutine(BattleUnit unit) { Populate(unit); if (!gameObject.activeSelf) { gameObject.SetActive(true); yield return(CoUtils.RunTween(GetComponent <CanvasGroup>().DOFade(1.0f, fadeTime))); } }
public IEnumerator AnimateWithTimeRoutine(float target, float duration) { Tweener tween = DOTween.To(() => ratio, (float x) => { ratio = x; UpdateScale(); }, Mathf.Max(Mathf.Min(1.0f, target), 0.0f), duration); yield return(CoUtils.RunTween(tween)); }