public void PlayFeedbackAnimation(int income) { FeedBackText.enabled = true; FeedBackText.GetComponent <Outline>().enabled = true; FeedBackText.GetComponent <Outline>().DOFade(1, 0); DelayManager.LocalCallTo(delegate { FeedBackText.enabled = false; FeedBackText.GetComponent <Outline>().enabled = false; }, 3, this); if (income < 0) { //negatif FeedBackText.text = income + "$"; FeedBackText.DOColor(new Color(0.59f, 0.25f, 0.25f), 0); } else { //positif FeedBackText.text = "+" + income + "$"; FeedBackText.color = new Color(0.42f, 0.59f, 0.26f); } FeedBackText.transform.position = CashPanel.transform.position + new Vector3(0, -50, 0); FeedBackText.transform.DOMoveY(-20, 1).SetRelative(); FeedBackText.DOFade(0, 3); FeedBackText.GetComponent <Outline>().DOFade(0, 3); }
void DoTutorial() { gameObject.SetActive(activateTutorial); if (activateTutorial) { DelayManager.LocalCallTo(delegate() { inputBlocker.SetActive(true); spotlight.gameObject.SetActive(true); tutorialMessage.gameObject.SetActive(true); Time.timeScale = 0; inputBlocker.SetActive(true); tutorialMessage.Show(delegate() { DelayManager.LocalCallTo(delegate() { tutorialMessage.Hide(delegate() { ShowUI(heroPanel.position, "SECTION HÉRO", "Ceci est le héro que vous avez sélectionné en se moment. Cliquer sur Next pour " + " sélectionner le prochain que vous possédez ou sélectionnez le directement dans le map ou dans la liste de vos héros. ", delegate() { ShowUI(heroPanelSide.position, "CONTRÔLE DU HÉRO", " Ici, vous pouvez intéragir avec le héro sélectionner. Vous pouvez zoom " + " sur lui et le suivre automatiquement avec la caméro ou même ouvrir son panneau de contrôle et lui donner des actions à faire.", delegate() { ShowUI(statsPanelLeft.position, "VOTRE ARGENT", "Voici votre montant d'argent que vous possédez. Utilisez la pour" + " acheter de nouveaux héros ou conservez la pour approcher plus rapidement de votre objectif", delegate() { ShowUI(statsPanelMid.position, "TEMP RESTANT", "Vous avez un certain pour complété votre objectif monétaire." + " Garder un oeil sur ce compteur pour réussir le niveau!", delegate() { ShowUI(statsPanelRight.position, "VOTRE OBJECTIF", "Votre objectif courrant est indiqué ici. Il s'agit habituellement d'un " + " montant d'argent à atteindre. Optimisé votre efficacité pour l'atteindre rapidement!", delegate() { ShowUI(hireHeroesButton.position, "RECRUTEMENT DE HÉROS", "Pour être plus efficace dans vos livraisons, vous pouvez " + " recruter des héros et les placer dans la carte pour les rendre immédiatements actifs.", delegate() { ShowMessage("DÉPLACEMENT", "Utilisé la souris ou WASD pour vous déplacez dans la carte. Appuyer sur la roulette pour drag la carte. " + " Vous pouvez aussi Zoom-in Zoom-out avec la roulette. Utiliser le clique droit lorsque vous avez un héro de sélectionné pour " + "automatiquement lui ajouter une action déplacement vers un endroit.", 10, delegate() { spotlight.Off(); tutorialMessage.Hide(null); Time.timeScale = 1; inputBlocker.SetActive(false); }); }); }); }); }); }); }); }); }, 10, this, true); }, "PIZZ-HERO", "Vous êtes le gestionnaire des livreurs de pizza de la pizzeria Pizz-Hero. Tous vos livreurs sont des super-héros " + "mais ils ont besoin de vous pour leur dire quoi faire. Donner leur des ordres de tel sorte d'être la meilleur pizzeria " + "de toute la ville."); }, 1, this); } }
void MakeRoad() { dotList.Add(Instantiate(dotSpritePrefab, ApplyCurveOnVecPos((transform.position + (vectorDeplacement * dotCount))), Quaternion.identity, canvas.transform)); dotCount++; if (dotList[dotList.Count - 1].transform.position == pointSuivant.transform.position) { Debug.Log("Finito"); return; } DelayManager.LocalCallTo(MakeRoad, 1, this); }
private static void OnIntroComplete() { //Unload all past scenes for (int i = 0; i < SceneManager.sceneCount; i++) { if (SceneManager.GetSceneAt(i).name != SCENENAME) { Scenes.UnloadAsync(SceneManager.GetSceneAt(i).name); } } DelayManager.LocalCallTo(LateLoad, 0, animator, true); }
void ShowMessage(string description, string title, float time, Action onComplete) { tutorialMessage.Hide(delegate() { spotlight.On(tutorialMessage.transform.position, delegate() { tutorialMessage.Show(delegate() { DelayManager.LocalCallTo(onComplete, time, this, true); }, description, title); }); }); }
void ShowUI(Vector2 position, string title, string description, Action onComplete) { tutorialMessage.Hide(delegate() { spotlight.On(position, delegate() { tutorialMessage.Show(delegate() { DelayManager.LocalCallTo(onComplete, textReadTime, this, true); }, title, description); }); }); }
public void Notify() { if (!isOnGoing) { SoundManager.PlayStaticSFX(sfx_appel, 0.01f); isOnGoing = true; gameObject.SetActive(true); GetComponent <FadeFlash>().Play(); DelayManager.LocalCallTo(delegate { GetComponent <FadeFlash>().Stop(); gameObject.SetActive(false); isOnGoing = false; }, 3, this); } }
void Play() { switch (currentSoundType) { case SoundType.music: if (addDelay) { DelayManager.LocalCallTo(delegate() { SoundManager.PlayMusic(sound, loopOnPlay, volume); }, delay, this); } else { SoundManager.PlayMusic(sound, loopOnPlay, volume); } break; case SoundType.sfx: if (addDelay) { SoundManager.PlaySFX(sound, delay, volume); } else { SoundManager.PlaySFX(sound, 0, volume); } break; case SoundType.voice: if (addDelay) { SoundManager.PlayVoice(sound, delay, volume); } else { SoundManager.PlayVoice(sound, 0, volume); } break; default: break; } }
void Follow() { Hero hero = Game.HeroManager.getActiveHero(); if (hero != null) { Camera.main.transform.position = new Vector3(hero.transform.position.x, hero.transform.position.y, Camera.main.transform.position.z); } else { if (!isNotifQueued) { isNotifQueued = true; NotificationQueue.PushNotification("Il faut au moins un héro pour le suivre."); DelayManager.LocalCallTo(delegate { isNotifQueued = false; }, 5f, this); } } }
public void Say(string text, MonoBehaviour target, float time = 5, float delay = 0) { if (delay > 0) { DelayManager.LocalCallTo(delegate() { Say(text, target, time, 0); }, delay, this); return; } ChoisirBulle(text); Vector3 position = new Vector3((target.transform.position.x + currentOffsetX), currentBulle.transform.position.y, (target.transform.position.z + currentOffsetZ)); Bubble myBubble = Instantiate(currentBulle, position, currentBulle.transform.rotation); myBubble.gameObject.SetActive(true); myBubble.myText.GetComponent <TextMesh>().text = text; myBubble.SetValues(currentOffsetX, currentOffsetZ, target, time); myBubble.Init(); }
public void StartRoad() { // Si ya pas de points suivant, ben pourquoi on y va ? if (pointSuivant == null) { return; } Vector2 adjustFactor; adjustFactor.x = Screen.width / 1920; adjustFactor.y = Screen.height / 1080; // Calculate data for dots anims vectorBetween = pointSuivant.transform.position - transform.position; pathLenght = vectorBetween.magnitude; vectorDeplacement = vectorBetween / Mathf.Floor(pathLenght / dotDensity); // Add first dot dotList.Add(Instantiate(dotSpritePrefab, transform.position, Quaternion.identity, canvas.transform)); dotCount++; DelayManager.LocalCallTo(MakeRoad, 1, this); }