Exemplo n.º 1
0
        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);
                }
            }
        }
Exemplo n.º 2
0
        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);
            }
        }
Exemplo n.º 3
0
        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;
            }
        }