public void Initialize(AdData data, GameManager.WindowCallback callback, bool startMinimized = false) { m_name.text = data.name; m_icon.sprite = data.icon; GetComponent <AnimatedSprite>().Load(data.frames, data.fps); m_function = data.func; if (ProgramManager.instance.ResizeActive) { Resize(Settings.SmallWindowSize); } else { Resize(data.imageSize); } gameObject.SetActive(!startMinimized); m_miniIcon.isOn = !startMinimized; m_miniIcon.GetComponentInChildren <MinimizedButton>().Initialize(data.name, data.icon); m_onClose += callback; transform.SetAsLastSibling(); if (programWindow) { ProgramManager.instance.Trigger(m_function, true); } else { if (data.sfx != null) { AudioManager.PlaySfx(data.sfx); } } }
public void Initialize(AdData.Function func, GameManager.WindowCallback callback, bool startMinimized = false) { m_function = func; gameObject.SetActive(!startMinimized); m_miniIcon.isOn = !startMinimized; m_onClose += callback; transform.SetAsLastSibling(); if (programWindow) { ProgramManager.instance.Trigger(m_function, true); } }
public void AddWindow(GameObject windowGo, AdData.Function func) { WindowController window = Instantiate(windowGo, m_windowContainer).GetComponent <WindowController>(); window.Initialize(func, CloseWindow); if (window.programWindow) { window.GetComponent <RectTransform>().anchoredPosition = Vector2.zero; } else { Vector2 pos = UnityEngine.Random.insideUnitCircle * (new Vector2(Screen.width, Screen.height) / 2); RectTransform winRect = window.GetComponent <RectTransform>(); if (pos.y + (winRect.rect.height / 2) > Screen.height / 2) { pos.y = (Screen.height / 2) - (winRect.rect.height / 2); } winRect.anchoredPosition = pos; } m_currentWindows.Add(window); }
public void TriggerPenalty(AdData.Function func) { int ran = 0; switch (func) { case AdData.Function.BackgroundChange: ran = Random.Range(0, m_backgrounds.Length); m_background.sprite = m_backgrounds[ran]; break; case AdData.Function.Cursor: m_cursorStart = Time.time; ran = Random.Range(0, m_cursors.Length); Cursor.SetCursor(m_cursors[ran], m_cursorHotspots[ran], CursorMode.ForceSoftware); m_changeCursor = true; break; case AdData.Function.DesktopPet: m_petStart = Time.time; DesktopPet pet = Instantiate(m_desktopPet, m_elementContainer).GetComponent <DesktopPet>(); pet.Initialize(DestroyPet); m_currentPets.Add(pet); m_pet = true; break; case AdData.Function.AlienPet: m_petStart = Time.time; DesktopPet alien = Instantiate(m_alienPet, m_elementContainer).GetComponent <DesktopPet>(); alien.Initialize(DestroyPet); m_currentPets.Add(alien); m_pet = true; break; case AdData.Function.DownloadSlowdown: m_slowdownStart = Time.time; m_slowdown = true; break; case AdData.Function.Emoticons: m_emoticonsStart = Time.time; m_lastEmoteTime = Time.time; m_emoticons = true; break; case AdData.Function.PopUpSpeed: m_speedUpStart = Time.time; m_speedUp = true; break; case AdData.Function.Virus: if (m_currentVirusWindow) { Destroy(m_currentVirusWindow); } m_currentVirusWindow = Instantiate(m_virusWindow, m_elementContainer); m_virusStart = Time.time; m_virus = true; break; } m_manager.AddPenalty(1); }
public void Trigger(AdData.Function func, bool active = false) { switch (func) { case AdData.Function.AntiAd: if (active) { m_antiAdActive = true; m_antiAdStart = Time.time; m_lastAd = Time.time; } else { m_antiAdActive = false; m_antiAdMenu.interactable = false; m_antiAdDelayStart = Time.time; m_antiAdInDelay = true; } break; case AdData.Function.Resize: if (active) { m_resizeActive = true; m_resizeStart = Time.time; } else { m_resizeActive = false; m_resizeMenu.interactable = false; m_resizeDelayStart = Time.time; m_resizeInDelay = true; } break; case AdData.Function.Ram: m_manager.AddRam(Settings.PurchasableRam); break; case AdData.Function.Prediction: if (active) { m_predictionActive = true; m_currentPrediction.gameObject.SetActive(true); m_predictionStart = Time.time; } else { m_predictionActive = false; m_currentPrediction.gameObject.SetActive(false); m_predictionMenu.interactable = false; m_predictionDelayStart = Time.time; m_predictionInDelay = true; } break; case AdData.Function.Consolidate: if (active) { m_consolidateActive = true; m_consolidatorStart = Time.time; } else { m_consolidateActive = false; m_consolidatorMenu.interactable = false; m_consolidatorDelayStart = Time.time; m_consolidateInDelay = true; } break; case AdData.Function.Time: if (active) { m_timeActive = true; m_timeStart = Time.time; } else { m_timeActive = false; m_timeMenu.interactable = false; m_timeDelayStart = Time.time; m_timeInDelay = true; } break; } }