// Crush block funtion override public void BlockCrush(bool force) { if (destroying) { return; } if (eventCountBorn == SessionAssistant.main.eventCount && !force) { return; } eventCountBorn = SessionAssistant.main.eventCount; level--; if (level == 0) { slot.SetScore(1); slot.block = null; SlotGravity.Reshading(); StartCoroutine(DestroyingRoutine()); return; } if (level > 0) { anim.Play("BlockCrush"); AudioAssistant.Shot("BlockHit"); sr.sprite = sprites[level - 1]; } }
// проигрыш в игре void ShowLoseGamePopup() { AudioAssistant.Shot("YouLose"); isPlaying = false; GameCamera.main.HideField(); UIAssistant.main.ShowPage("YouLoseGame"); }
IEnumerator BaseSession() // базовая куротина, проверающая победу или порожение { while (!limitationRoutineIsOver && !targetRoutineIsOver) { yield return(0); } StartNavel.main.Fin_Activ(false); Debug.Log(limitationRoutineIsOver + " " + targetRoutineIsOver); if (!reachedTheTarget) { yield return(StartCoroutine(GameCamera.main.HideFieldRoutine())); FieldAssistant.main.RemoveField(); ShowLoseGamePopup(); yield break; } iteraction = false; yield return(new WaitForSeconds(0.2f)); UIAssistant.main.ShowPage("TargetIsReached"); AudioAssistant.Shot("TargetIsReached"); yield return(StartCoroutine(Utils.WaitFor(() => CPanel.uiAnimation == 0, 0.4f))); UIAssistant.main.ShowPage("Field"); yield return(StartCoroutine(Utils.WaitFor(CanIWait, 1f))); yield return(StartCoroutine(GameCamera.main.HideFieldRoutine())); FieldAssistant.main.RemoveField(); StartCoroutine(YouWin()); }
void Awake() { main = this; AudioSource[] sources = GetComponents<AudioSource> (); music = sources[0]; sfx = sources[1]; // Filling the dictionary of sounds data.Clear (); data.Add ("ChipHit", chipHit); data.Add ("ChipCrush", chipCrush); data.Add ("BombCrush", bombCrush); data.Add ("CrossBombCrush", crossBombCrush); data.Add ("ColorBombCrush", colorBombCrush); data.Add ("SwapSuccess", swapSuccess); data.Add ("SwapFailed", swapFailed); data.Add ("CreateBomb", createBomb); data.Add ("CreateCrossBomb", createCrossBomb); data.Add ("CreateColorBomb", createColorBomb); data.Add ("TimeWarrning", timeWarrning); data.Add ("YouWin", youWin); data.Add ("YouLose", youLose); data.Add ("Buy", buy); StartCoroutine (MixBufferRoutine ()); mute = PlayerPrefs.GetInt("Mute") == 1; FindObjectOfType<MuteIcon>().UpdateIcon(); }
// программа, запускающая определённые действия при выигрыше в игре IEnumerator YouWin() { AudioAssistant.Shot("YouWin"); SteamAchiments.main.TakeAchievement("WIN_GAME"); PlayerPrefs.SetInt("FirstPass", 1); isPlaying = false; if (ProfileAssistant.main.local_profile.current_level == LevelProfile.main.level) { if (Level.all.ContainsKey(ProfileAssistant.main.local_profile.current_level + 1)) { ProfileAssistant.main.local_profile.current_level++; } } ProfileAssistant.main.local_profile.SetScore(LevelProfile.main.level, score); GameCamera.main.HideField(); yield return(0); while (CPanel.uiAnimation > 0) { yield return(0); } yield return(0); UIAssistant.main.ShowPage("YouWin"); Debug.Log("YouWin"); AnimationAssistant.main.Ferverk(1); UserProfileUtils.WriteProfileOnDevice(ProfileAssistant.main.local_profile); }
IEnumerator PlayRoutine() { int last_swap = SessionAssistant.main.swapEvent; int last_match_count = SessionAssistant.main.matchCount; while (true) { if (SessionAssistant.main.matchCount - last_match_count >= 3) { Feedback feedback = ProjectParameters.main.feedbacks.GetRandom(); text.gameObject.SetActive(true); text.text = feedback.text; anim.Play(); AudioAssistant.Shot(feedback.audioClipName); while (anim.isPlaying) { yield return(0); } } text.gameObject.SetActive(false); while (SessionAssistant.main.swapEvent <= last_swap) { yield return(0); } last_match_count = SessionAssistant.main.matchCount; last_swap = SessionAssistant.main.swapEvent; yield return(0); yield return(StartCoroutine(Utils.WaitFor(SessionAssistant.main.CanIWait, 0.5f))); } }
void Awake() { chip = GetComponent <Chip>(); chip.chipType = "CrossBomb"; birth = SessionAssistant.main.eventCount; AudioAssistant.Shot("CreateCrossBomb"); }
void Awake() { main = this; AudioSource[] sources = GetComponents <AudioSource> (); music = sources[0]; sfx = sources[1]; // Filling the dictionary of sounds data.Clear(); data.Add("ChipHit", chipHit); data.Add("ChipCrush", chipCrush); data.Add("BombCrush", bombCrush); data.Add("CrossBombCrush", crossBombCrush); data.Add("ColorBombCrush", colorBombCrush); data.Add("SwapSuccess", swapSuccess); data.Add("SwapFailed", swapFailed); data.Add("CreateBomb", createBomb); data.Add("CreateCrossBomb", createCrossBomb); data.Add("CreateColorBomb", createColorBomb); data.Add("TimeWarrning", timeWarrning); data.Add("YouWin", youWin); data.Add("YouLose", youLose); data.Add("Buy", buy); StartCoroutine(MixBufferRoutine()); mute = PlayerPrefs.GetInt("Mute") == 1; FindObjectOfType <MuteIcon>().UpdateIcon(); }
// Coroutine destruction / activation IEnumerator DestroyChipFunction() { matching = true; AudioAssistant.Shot("ChipCrush"); yield return(new WaitForSeconds(0.2f)); matching = false; chip.ParentRemove(); float velocity = 0; Vector3 impuls = new Vector3(Random.Range(-3f, 3f), Random.Range(1f, 5f), 0); impuls += chip.impulse; chip.impulse = Vector3.zero; SpriteRenderer sprite = GetComponent <SpriteRenderer>(); sprite.sortingLayerName = "Foreground"; float rotationSpeed = Random.Range(-30f, 30f); float growSpeed = Random.Range(0.2f, 0.8f); while (transform.position.y > -10) { velocity += Time.deltaTime * 20; velocity = Mathf.Min(velocity, 40); transform.position += impuls * Time.deltaTime * transform.localScale.x; transform.position -= Vector3.up * Time.deltaTime * velocity * transform.localScale.x; transform.Rotate(0, 0, rotationSpeed * Time.deltaTime); transform.localScale += Vector3.one * growSpeed * Time.deltaTime; yield return(0); } }
void Awake() { _chip = GetComponent <Chip>(); live = true; chip.destroyable = false; AudioAssistant.Shot("SugarCreate"); }
void Awake() { _chip = GetComponent <Chip>(); chip.chipType = "SimpleBomb"; birth = MatchThree.main.eventCount; AudioAssistant.Shot("CreateBomb"); }
void Awake() { main = this; AudioSource[] sources = GetComponents <AudioSource> (); music = sources[0]; sfx = sources[1]; data.Clear(); data.Add("ChipHit", chipHit); data.Add("ChipCrush", chipCrush); data.Add("BombCrush", bombCrush); data.Add("CrossBombCrush", crossBombCrush); data.Add("ColorBombCrush", colorBombCrush); data.Add("SwapSuccess", swapSuccess); data.Add("SwapFailed", swapFailed); data.Add("CreateBomb", createBomb); data.Add("CreateCrossBomb", createCrossBomb); data.Add("CreateColorBomb", createColorBomb); data.Add("TimeWarrning", timeWarrning); data.Add("YouWin", youWin); data.Add("YouLose", youLose); data.Add("Buy", buy); StartCoroutine(MixBufferRoutine()); }
IEnumerator CrossMixRoutine(Chip secondary) { chip.busy = true; chip.destroyable = false; SessionAssistant.main.EventCounter(); Transform effect = ContentAssistant.main.GetItem("CrossMixEffect").transform; effect.SetParent(Slot.folder); effect.position = transform.position; effect.GetComponent <Animation>().Play(); AudioAssistant.Shot("CrossBombCrush"); chip.Minimize(); FieldAssistant.main.BlockCrush(chip.slot.coord, false); FieldAssistant.main.JellyCrush(chip.slot.coord); int count = 8; for (int path = 1; count > 0; path++) { count = 0; foreach (Side side in Utils.allSides) { if (Freez(chip.slot.coord + Utils.SideOffset(side) * path)) { count++; } } } if (chip.slot.jam) { chip.jamType = chip.slot.jam.type; } count = 8; for (int path = 1; count > 0; path++) { count = 0; yield return(new WaitForSeconds(0.05f)); foreach (Side side in Utils.allSides) { if (Crush(chip.slot.coord + Utils.SideOffset(side) * path, chip.jamType)) { count++; } } } chip.ParentRemove(); yield return(new WaitForSeconds(0.1f)); chip.busy = false; chip.HideChip(false); }
// Showing lose popup void ShowLosePopup() { AudioAssistant.Shot("YouLose"); AudioAssistant.main.PlayMusic("Menu"); isPlaying = false; FindObjectOfType <FieldCamera>().HideField(); UIServer.main.ShowPage("YouLose"); }
// Play of successfully purchased sound void onMarketPurchase(PurchasableVirtualItem item, string payload, Dictionary <string, string> extra) { if (payload != developerPayload) { return; } AudioAssistant.Shot("Buy"); }
IEnumerator MoneyMinusAnim() { AudioAssistant.Shot("Coin"); MoneyAnim.SetBool("Minus", true); yield return(new WaitForSeconds(0.2f)); MoneyAnim.SetBool("Minus", false); }
IEnumerator MoneyAddAnim() { SteamAchiments.main.TakeAchievement("FIRST_MONEY"); AudioAssistant.Shot("AddMoney"); MoneyAnim.SetBool("Add", true); yield return(new WaitForSeconds(0.1f)); MoneyAnim.SetBool("Add", false); }
void onItemPurchased(PurchasableVirtualItem item, string payload) { if (payload != developerPayload) { return; } AudioAssistant.Shot("Buy"); BerryStorePurchaser.Succeed(item.ItemId); }
// Coroutine of special control mode public override IEnumerator Logic() { finger.gameObject.SetActive(false); yield return(StartCoroutine(Utils.WaitFor(SessionAssistant.main.CanIWait, 0.1f))); Slot target = null; while (true) { if (Input.GetMouseButtonDown(0) || (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Ended)) { target = ControlAssistant.main.GetSlotFromTouch(); } if (target && target.chip && target.chip.chipType == "SimpleChip") { AudioAssistant.Shot("MagicFinger"); finger.gameObject.SetActive(true); finger.transform.position = target.transform.position; finger.Play(); yield return(new WaitForSeconds(2)); ProfileAssistant.main.local_profile["finger"]--; float prob = Random.value; if (prob < 0.35f) { FieldAssistant.main.AddPowerup(target.coord, "SimpleBomb"); } else if (prob < 0.7f) { FieldAssistant.main.AddPowerup(target.coord, "CrossBomb"); } else if (prob < 0.9f) { FieldAssistant.main.AddPowerup(target.coord, "ColorBomb"); } else { FieldAssistant.main.AddPowerup(target.coord, "RainbowHeart"); } SessionAssistant.main.EventCounter(); break; } yield return(0); } while (finger.isPlaying) { yield return(0); } finger.gameObject.SetActive(false); UIAssistant.main.ShowPage("Field"); }
// Effect logic IEnumerator MixEffect() { yield return(0); Chip chip = GetChip(); while (chip.parentSlot == null) { yield return(0); } transform.position = chip.parentSlot.transform.position; while (!SessionAssistant.main.CanIMatch()) { yield return(0); } SessionAssistant.main.matching++; SessionAssistant.main.EventCounter(); GetComponent <Animation>().Play(); AudioAssistant.Shot("CrossBombCrush"); sx = chip.parentSlot.slot.x; sy = chip.parentSlot.slot.y; yield return(new WaitForSeconds(0.3f)); FieldAssistant.main.JellyCrush(sx, sy); for (int i = 1; i < 12; i++) { Crush(sx + i, sy + i); Crush(sx + i, sy); Crush(sx + i, sy - i); Crush(sx, sy + i); Crush(sx, sy - i); Crush(sx - i, sy + i); Crush(sx - i, sy); Crush(sx - i, sy - i); yield return(new WaitForSeconds(0.05f)); } yield return(new WaitForSeconds(0.2f)); SessionAssistant.main.matching--; while (GetComponent <Animation>().isPlaying) { yield return(0); } FieldAssistant.main.BlockCrush(sx, sy, false); destroingLock = false; DestroyChipFunction(); }
void Start() { SpriteRenderer sr = GetComponent <SpriteRenderer>(); if (type == "Jam A") { sr.sprite = jamAsprite; } AudioAssistant.Shot("WeedCreate"); }
IEnumerator MixEffect() { yield return(0); Chip chip = GetChip(); while (chip.parentSlot == null) { yield return(0); } transform.position = chip.parentSlot.transform.position; while (!SessionAssistant.main.CanIMatch()) { yield return(0); } SessionAssistant.main.matching++; GetComponent <Animation>().Play(); AudioAssistant.Shot("BombCrush"); sx = chip.parentSlot.slot.x; sy = chip.parentSlot.slot.y; int width = FieldAssistant.main.field.width; int height = FieldAssistant.main.field.height; // FieldAssistant.main.JellyCrush(sx, sy); for (int x = 0; x < width; x++) { for (int y = 0; y < height; y++) { Crush(x, y); } } AnimationAssistant.main.Explode(transform.position, 5, 30); yield return(new WaitForSeconds(0.6f)); SessionAssistant.main.matching--; while (GetComponent <Animation>().isPlaying) { yield return(0); } FieldAssistant.main.BlockCrush(sx, sy, false); destroingLock = false; DestroyChipFunction(); }
void Awake() { main = this; AudioSource[] sources = GetComponents<AudioSource>(); music = sources[0]; sfx = sources[1]; StartCoroutine(MixBufferRoutine()); mute = PlayerPrefs.GetInt("Mute") == 1; }
IEnumerator BaseSession() { DebugPanel.Log("Status (Base)", "Session", "Began."); while (!limitationRoutineIsOver && !targetRoutineIsOver) { yield return(0); } DebugPanel.Log("Status (Base)", "Session", "Waiting is over."); // Checking the condition of losing if (!reachedTheTarget) { DebugPanel.Log("Status (Base)", "Session", "Session failed. Clearing."); yield return(StartCoroutine(GameCamera.main.HideFieldRoutine())); FieldAssistant.main.RemoveField(); ShowLosePopup(); DebugPanel.Log("Status (Base)", "Session", "Session failed. End."); yield break; } iteraction = false; DebugPanel.Log("Status (Base)", "Session", "Session completed. Target is reached."); yield return(new WaitForSeconds(0.2f)); UIAssistant.main.ShowPage("TargetIsReached"); AudioAssistant.Shot("TargetIsReached"); yield return(StartCoroutine(Utils.WaitFor(() => CPanel.uiAnimation == 0, 0.4f))); UIAssistant.main.ShowPage("Field"); DebugPanel.Log("Status (Base)", "Session", "Session completed. Bonus matching."); // Conversion of the remaining moves into bombs and activating them yield return(StartCoroutine(BurnLastMovesToPowerups())); yield return(StartCoroutine(Utils.WaitFor(CanIWait, 1f))); DebugPanel.Log("Status (Base)", "Session", "Session completed. Clearing."); // Ending the session, showing win popup yield return(StartCoroutine(GameCamera.main.HideFieldRoutine())); FieldAssistant.main.RemoveField(); StartCoroutine(YouWin()); DebugPanel.Log("Status (Base)", "Session", "Session completed. End."); }
public bool ChekLoseGame() { if (MatchThree.main.eat <= 0 || MatchThree.main.energy <= 0 || MatchThree.main.hygiene <= 0 || MatchThree.main.coffee <= 0) { AudioAssistant.Shot("YouLose"); UIAssistant.main.ShowPage("YouLoseGame"); return(true); } else { return(false); } }
// Function item purchase public void Purchase(int seedsCount, string goodId, int goodCount) { if (ProfileAssistant.main.local_profile["seed"] < seedsCount) { UIAssistant.main.ShowPage("Store"); return; } ProfileAssistant.main.local_profile["seed"] -= seedsCount; ProfileAssistant.main.local_profile[goodId] += goodCount; ProfileAssistant.main.SaveUserInventory(); ItemCounter.RefreshAll(); AudioAssistant.Shot("Buy"); }
// Crush block funtion public void JellyCrush() { if (level == 1) { AudioAssistant.Shot("JellyCrush"); StartCoroutine(DestroyingRoutine()); return; } level--; anim.Play("JellyCrush"); AudioAssistant.Shot("JellyrHit"); sr.sprite = sprites[level - 1]; }
IEnumerator DestroyChipFunction(string powerup) { if (birth == SessionAssistant.main.eventCount) { chip.destroying = false; yield break; } if (!chip.destroying) { yield break; } chip.busy = true; chip.gravity = false; chip.Play("Match"); AudioAssistant.Shot("RainbowHeartCrush"); SessionAssistant.main.EventCounter(); FieldAssistant.main.JellyCrush(chip.slot.coord); chips.Add(chip); branchCount = GetBranchCount(); if (chip.slot.jam) { chip.jamType = chip.slot.jam.type; } for (int i = 0; i < branchCount; i++) { StartCoroutine(LightningBranch(powerup)); } while (branchCount != -1) { yield return(0); } chip.ParentRemove(); chip.busy = false; chip.gravity = true; chip.Play("Destroying"); while (chip.IsPlaying("Destroying")) { yield return(0); } Destroy(gameObject); }
// Showing lose popup void ShowLosePopup() { int result = RatingAssistant.main.CheckRatingDate(); AudioAssistant.Shot("YouLose"); AudioAssistant.main.PlayMusic("Menu"); isPlaying = false; FindObjectOfType <FieldCamera>().HideField(); if (result == 2 && !RatingAssistant.main.wasRated) { RatingAssistant.main.ShowLikePopUp(false); } UIServer.main.ShowPage("YouLose"); }
IEnumerator TimerRoutine() { yield return(0); while (SessionAssistant.main.timeLeft > 10) { yield return(new WaitForSeconds(0.1f)); } while (SessionAssistant.main.timeLeft > 0) { AudioAssistant.Shot("TimeWarrning"); yield return(new WaitForSeconds(1f)); } }
public override void OnInspectorGUI() { main = (AudioAssistant) target; Undo.RecordObject (main, ""); main.musicVolume = EditorGUILayout.Slider("Music Volume", main.musicVolume, 0f, 1f); if (main.tracks == null) main.tracks = new List<AudioAssistant.MusicTrack>(); if (main.sounds == null) main.sounds = new List<AudioAssistant.Sound>(); #region Music Tracks tracksFade.target = GUILayout.Toggle(tracksFade.target, "Music Tracks", EditorStyles.foldout); if (EditorGUILayout.BeginFadeGroup(tracksFade.faded)) { EditorGUILayout.BeginHorizontal(); GUILayout.Space(20); GUILayout.Label("Name", GUILayout.Width(100)); GUILayout.Label("Audio Clip", GUILayout.ExpandWidth(true)); EditorGUILayout.EndHorizontal(); foreach (AudioAssistant.MusicTrack track in main.tracks) { EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("X", GUILayout.Width(20))) { main.tracks.Remove(track); break; } track.name = EditorGUILayout.TextField(track.name, GUILayout.Width(100)); track.track = (AudioClip) EditorGUILayout.ObjectField(track.track, typeof(AudioClip), false, GUILayout.ExpandWidth(true)); EditorGUILayout.EndHorizontal(); } EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Add", GUILayout.Width(60))) main.tracks.Add(new AudioAssistant.MusicTrack()); EditorGUILayout.EndHorizontal(); } EditorGUILayout.EndFadeGroup(); #endregion #region Sounds iapsFade.target = GUILayout.Toggle(iapsFade.target, "Sounds", EditorStyles.foldout); if (EditorGUILayout.BeginFadeGroup(iapsFade.faded)) { EditorGUILayout.BeginHorizontal(); GUILayout.Space(20); GUILayout.Space(40); GUILayout.Label("Name", GUILayout.Width(120)); GUILayout.Label("Audio Clips", GUILayout.ExpandWidth(true)); EditorGUILayout.EndHorizontal(); foreach (AudioAssistant.Sound sound in main.sounds) { EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("X", GUILayout.Width(20))) { main.sounds.Remove(sound); break; } if (GUILayout.Button("Edit", GUILayout.Width(40))) { if (edit == sound) edit = null; else edit = sound; } sound.name = EditorGUILayout.TextField(sound.name, GUILayout.Width(120)); if (edit == sound || sound.clips.Count == 0) { EditorGUILayout.BeginVertical(); for (int i = 0; i < sound.clips.Count; i++) { sound.clips[i] = (AudioClip) EditorGUILayout.ObjectField(sound.clips[i], typeof(AudioClip), false, GUILayout.ExpandWidth(true)); if (sound.clips[i] == null) { sound.clips.RemoveAt(i); break; } } AudioClip new_clip = (AudioClip) EditorGUILayout.ObjectField(null, typeof(AudioClip), false, GUILayout.Width(150)); if (new_clip) sound.clips.Add(new_clip); EditorGUILayout.EndVertical(); } else { GUILayout.Label(sound.clips.Count.ToString() + " audio clip(s)", EditorStyles.miniBoldLabel); } EditorGUILayout.EndHorizontal(); } EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Add", GUILayout.Width(60))) { main.sounds.Add(new AudioAssistant.Sound()); edit = main.sounds[main.sounds.Count - 1]; } if (GUILayout.Button("Sort", GUILayout.Width(60))) { main.sounds.Sort((AudioAssistant.Sound a, AudioAssistant.Sound b) => { return string.Compare(a.name, b.name); }); foreach (AudioAssistant.Sound sound in main.sounds) sound.clips.Sort((AudioClip a, AudioClip b) => { return string.Compare(a.ToString(), b.ToString()); }); } EditorGUILayout.EndHorizontal(); } EditorGUILayout.EndFadeGroup(); #endregion }