Exemplo n.º 1
0
 public void SetDay(int day)
 {
     if (day < 10)
     {
         numberImg[0].SetTexture(material, GameUITexturePosition.GetNumberRect(day));
         numberImg[1].SetTexture(material, GameUITexturePosition.GetNumberRect(-1));
         numberImg[2].SetTexture(material, GameUITexturePosition.GetNumberRect(-1));
     }
     else if (day < 100)
     {
         int digit1 = day / 10;
         int digit2 = day % 10;
         numberImg[0].SetTexture(material, GameUITexturePosition.GetNumberRect(digit1));
         numberImg[1].SetTexture(material, GameUITexturePosition.GetNumberRect(digit2));
         numberImg[2].SetTexture(material, GameUITexturePosition.GetNumberRect(-1));
     }
     else
     {
         int digit1 = day / 100;
         day = day - digit1 * 100;
         int digit2 = day / 10;
         int digit3 = day % 10;
         numberImg[0].SetTexture(material, GameUITexturePosition.GetNumberRect(digit1));
         numberImg[1].SetTexture(material, GameUITexturePosition.GetNumberRect(digit2));
         numberImg[2].SetTexture(material, GameUITexturePosition.GetNumberRect(digit3));
     }
 }
Exemplo n.º 2
0
 public void SetUnlockWeapon(Weapon w)
 {
     if (w != null)
     {
         Material material        = UIResourceMgr.GetInstance().GetMaterial("GameUI");
         int      weaponLogoIndex = GameApp.GetInstance().GetGameState().GetWeaponIndex(w);
         Rect     weaponlogoRect  = GameUITexturePosition.GetWeaponLogoRect(weaponLogoIndex);
         unlockWeaponImage.SetTexture(material, weaponlogoRect);
     }
 }
Exemplo n.º 3
0
    public void UpdateAnimation()
    {
        float timeDiff = Time.time - aniStartTime;

        if (timeDiff < 15.0f)
        {
            float dayTimeDiff = ((0.5f - timeDiff) > 0) ? (0.5f - timeDiff) : 0;
            dayImg.Rect = new Rect(Day.x + AutoRect.AutoX(2000 * dayTimeDiff), Day.y, Day.width, Day.height);
            if (dayTimeDiff == 0)
            {
                float scaleTime = timeDiff - 0.5f;
                if (scaleTime >= 0 && scaleTime <= 0.1f)
                {
                    dayImg.SetTextureSize(new Vector2(ButtonsTexturePosition.Day.width * (1 + scaleTime * 5), ButtonsTexturePosition.Day.height * (1 + scaleTime * 5)));
                }
                else if (scaleTime > 0.1f && scaleTime <= 0.2f)
                {
                    dayImg.SetTextureSize(new Vector2(ButtonsTexturePosition.Day.width * (2f - scaleTime * 5), ButtonsTexturePosition.Day.height * (2f - scaleTime * 5)));
                }
            }


            for (int i = 0; i < 3; i++)
            {
                float numTimeDiff = ((0.5f + (i + 1) * 0.5f - timeDiff) > 0) ? (0.5f + (i + 1) * 0.5f - timeDiff) : 0;
                Rect  r           = GetNumberPos(i);
                numberImg[i].Rect = new Rect(r.x + AutoRect.AutoX(2000 * numTimeDiff), r.y, r.width, r.height);

                if (numTimeDiff == 0)
                {
                    float scaleTime = timeDiff - (0.5f + (i + 1) * 0.5f);
                    Rect  texSize   = GameUITexturePosition.GetNumberRect(0);
                    if (scaleTime >= 0 && scaleTime <= 0.1f)
                    {
                        numberImg[i].SetTextureSize(new Vector2(texSize.width * (1 + scaleTime * 5), texSize.height * (1 + scaleTime * 5)));
                    }
                    else if (scaleTime > 0.1f && scaleTime <= 0.2f)
                    {
                        numberImg[i].SetTextureSize(new Vector2(texSize.width * (2f - scaleTime * 5), texSize.height * (2f - scaleTime * 5)));
                    }
                }
            }

            if (timeDiff > 4.0f)
            {
                dayImg.Rect = new Rect(Day.x - AutoRect.AutoX(2000 * (timeDiff - 4.0f)), Day.y, Day.width, Day.height);
                for (int i = 0; i < 3; i++)
                {
                    Rect r = GetNumberPos(i);
                    numberImg[i].Rect = new Rect(r.x - AutoRect.AutoX(2000 * (timeDiff - 4.0f)), r.y, r.width, r.height);
                }
            }
        }
    }
Exemplo n.º 4
0
    public void SetWeaponLogo(WeaponType weaponType)
    {
        if (uiInited)
        {
            int  weaponLogoIndex = GameApp.GetInstance().GetGameState().GetWeaponIndex(player.GetWeapon());
            Rect weaponlogoRect  = GameUITexturePosition.GetWeaponLogoRect(weaponLogoIndex);
            weaponLogo.SetTexture(UIButtonBase.State.Normal, gameuiMaterial, weaponlogoRect, AutoRect.AutoSize(weaponlogoRect));
            weaponLogo.SetTexture(UIButtonBase.State.Pressed, gameuiMaterial, weaponlogoRect, AutoRect.AutoSize(weaponlogoRect));

            Material buttonsMaterial = UIResourceMgr.GetInstance().GetMaterial("Buttons");

            Rect bulletlogoRect = ButtonsTexturePosition.GetBulletsLogoRect((int)player.GetWeapon().GetWeaponType());
            bulletsLogo.SetTexture(buttonsMaterial, bulletlogoRect, AutoRect.AutoSize(bulletlogoRect));
        }
    }
Exemplo n.º 5
0
    // Update is called once per frame
    void Update()
    {
        timeLeft -= Time.deltaTime;

        accum += Time.timeScale / Time.deltaTime;
        frames++;

        if (timeLeft <= 0)
        {
            fpsStr   = "FPS:" + (accum / frames).ToString();
            frames   = 0;
            accum    = 0;
            timeLeft = updateInterval;
        }

        if (uiInited)
        {
            fpsText.SetText(fpsStr);
            dayInfoPanel.UpdateAnimation();
            panels[GameUIName.GAME_OVER].UpdateLogic();

            if (FadeAnimationScript.GetInstance().FadeOutComplete())
            {
                foreach (UITouchInner touch in iPhoneInputMgr.MockTouches())
                {
                    if (m_UIManager.HandleInput(touch))
                    {
                        continue;
                    }
                }
            }


            if (gameScene.PlayingState == PlayingState.GameWin)
            {
                dayclear.Visible = true;
            }

            if (!GameApp.GetInstance().GetGameScene().GetPlayer().InputController.EnableShootingInput)
            {
                semiMask.Visible = true;
            }
            else
            {
                semiMask.Visible = false;
            }
        }

        if (Time.time - lastUpdateTime < 0.03f || !uiInited)
        {
            return;
        }

        lastUpdateTime = Time.time;


        if (player != null)
        {
            InputController inputController = player.InputController;

            float guihp      = player.GetGuiHp();
            float guihpWidth = uiPos.HPImage.width * guihp / player.GetMaxHp();


            int g = (int)guihpWidth;
            if (g % 2 != 0)
            {
                g += 1;
            }
            if (hpImage != null)
            {
                hpImage.Rect = AutoRect.AutoPos(new Rect(uiPos.HPImage.xMin, uiPos.HPImage.yMin, g, uiPos.HPImage.height));
                hpImage.SetTexture(gameuiMaterial, GameUITexturePosition.GetHPTextureRect(g), AutoRect.AutoSize(GameUITexturePosition.GetHPTextureRect(g)));
            }

            cashText.SetText("$" + GameApp.GetInstance().GetGameState().GetCash().ToString("N0"));

            Weapon weapon = player.GetWeapon();
            if (weapon.GetWeaponType() == WeaponType.Saw)
            {
                weaponInfoText.SetText("");
            }
            else
            {
                weaponInfoText.SetText(" x" + weapon.BulletCount);
            }

            PlayingState playingState = gameScene.PlayingState;
            Vector2      lastTouchPos = inputController.LastTouchPos;

            joystickThumb.Rect = new Rect(lastTouchPos.x - AutoRect.AutoValue(0.5f * GameUITexturePosition.MoveJoystickThumb.width), lastTouchPos.y - AutoRect.AutoValue(0.5f * GameUITexturePosition.MoveJoystickThumb.height), AutoRect.AutoValue(GameUITexturePosition.MoveJoystickThumb.width), AutoRect.AutoValue(GameUITexturePosition.MoveJoystickThumb.height));

            shootjoystickThumb.Rect = new Rect(inputController.LastShootTouch.x - AutoRect.AutoValue(0.5f * GameUITexturePosition.ShootJoystickThumb.width), inputController.LastShootTouch.y - AutoRect.AutoValue(0.5f * GameUITexturePosition.ShootJoystickThumb.height), AutoRect.AutoValue(GameUITexturePosition.ShootJoystickThumb.width), AutoRect.AutoValue(GameUITexturePosition.ShootJoystickThumb.height));

            /*
             *
             *
             *
             * Vector2 thumbCenter = inputController.ThumbCenter;
             * joystickImage.Rect = new Rect((thumbCenter.x - inputController.ThumbRadius), ((Screen.height - thumbCenter.y) - inputController.ThumbRadius), AutoRect.AutoValue(169), AutoRect.AutoValue(168));
             * thumbCenter = inputController.ShootThumbCenter;
             * shootjoystickImage.Rect = new Rect((thumbCenter.x - inputController.ThumbRadius), ((Screen.height - thumbCenter.y) - inputController.ThumbRadius), AutoRect.AutoValue(169), AutoRect.AutoValue(168));
             *
             *
             * if (inputController.GetMoveTouchFingerID() == -1)
             * {
             *  joystickImage.Visible = false;
             *  joystickThumb.Visible = false;
             * }
             * else
             * {
             *  joystickImage.Visible = true;
             *  joystickThumb.Visible = true;
             * }
             *
             * if (inputController.GetShootingTouchFingerID() == -1)
             * {
             *  shootjoystickImage.Visible = false;
             *  shootjoystickThumb.Visible = false;
             * }
             * else
             * {
             *  shootjoystickImage.Visible = true;
             *  shootjoystickThumb.Visible = true;
             * }
             */
        }
    }
Exemplo n.º 6
0
    // Use this for initialization
    IEnumerator Start()
    {
        yield return(0);

        uiPos = new UIPosition();
        //texPos = new GameUITexturePosition();

        float screenRatioX = ((float)Screen.width) / 960.00f;

        buttonRect = new Rect[4];
        buttonRect[ButtonNames.WEAPON_SWITCH] = new Rect(650, 540, 205, 89);
        buttonRect[ButtonNames.BOMB]          = new Rect(0.4f * Screen.width, 0.25f * Screen.height, 0.24f * Screen.width, 0.08f * Screen.height);
        buttonRect[ButtonNames.CONTINUE]      = new Rect(0.4f * Screen.width, 0.25f * Screen.height, 0.14f * Screen.width, 0.14f * Screen.height);
        buttonRect[ButtonNames.START_OVER]    = new Rect(0.4f * Screen.width, 0.25f * Screen.height, 0.14f * Screen.width, 0.14f * Screen.height);


        if (AutoRect.GetPlatform() == Platform.IPad)
        {
            uiPos.PlayerLogo           = new Rect(-16 - 32, 566 + 64, 116, 81);
            uiPos.PlayerLogoBackground = new Rect(0 - 32, 556 + 64, 134, 88);
            uiPos.HPBackground         = new Rect(94 - 32, 590 - 12 + 64, 288, 50);
            uiPos.HPImage = new Rect(94 - 32, 590 - 12 + 64, 288, 50);
            uiPos.WeaponLogoBackground = new Rect(960 - 148 + 32, 640 - 74 + 54, 148, 88);
            uiPos.WeaponLogo           = new Rect(960 - 180 + 32, 640 - 84 + 64, 194, 112);
            uiPos.BulletsLogo          = new Rect(960 - 420 + 32, 640 - 94 + 64, 194, 112);
            uiPos.WeaponInfo           = new Rect(656 + 32, 558 + 64, 100, 64);
            uiPos.PauseButton          = new Rect(408, 588, 160, 166);
            uiPos.CashText             = new Rect(0, 576 + 64, 1024, 64);
            uiPos.Mask   = new Rect(0, 0, 1024, 768);
            uiPos.Switch = new Rect(960 - 268 + 32, 640 - 90 + 12 + 64, 148, 88);
        }



        gameScene = GameApp.GetInstance().GetGameScene();
        player    = gameScene.GetPlayer();

        m_UIManager = gameObject.AddComponent <UIManager>() as UIManager;
        m_UIManager.SetParameter(8, 1, false);
        m_UIManager.SetUIHandler(this);



        int  avatarLogoIndex = (int)player.GetAvatarType();
        Rect logoRect        = GameUITexturePosition.GetAvatarLogoRect(avatarLogoIndex);

        //Player Logo
        playerLogoImage      = new UIImage();
        playerLogoImage.Rect = AutoRect.AutoPos(uiPos.PlayerLogo);

        playerLogoImage.SetTexture(gameuiMaterial, logoRect, AutoRect.AutoSize(logoRect));
        //playerLogoImage.SetTextureSize(new Vector2(texPos.PlayerLogo.width, texPos.PlayerLogo.height));

        //HP
        hpBackground = new UIImage();
        hpBackground.SetTexture(gameuiMaterial, GameUITexturePosition.HPBackground, AutoRect.AutoSize(GameUITexturePosition.HPBackground));
        hpBackground.Rect = AutoRect.AutoPos(uiPos.HPBackground);


        dayclear = new UIImage();
        dayclear.SetTexture(gameuiMaterial, GameUITexturePosition.DayClear, AutoRect.AutoSize(GameUITexturePosition.DayClear));
        dayclear.Rect    = AutoRect.AutoPos(uiPos.DayClear);
        dayclear.Visible = false;
        dayclear.Enable  = false;
        hpImage          = new UIImage();
        hpImage.SetTexture(gameuiMaterial, GameUITexturePosition.HPImage, AutoRect.AutoSize(GameUITexturePosition.HPImage));


        playerLogoBackgroundImage = new UIImage();
        playerLogoBackgroundImage.SetTexture(gameuiMaterial, GameUITexturePosition.PlayerLogoBackground, AutoRect.AutoSize(GameUITexturePosition.PlayerLogoBackground));
        playerLogoBackgroundImage.Rect = AutoRect.AutoPos(uiPos.PlayerLogoBackground);

        //Weapon Switch
        weaponBackground      = new UIImage();
        weaponBackground.Rect = AutoRect.AutoPos(uiPos.WeaponLogoBackground);
        weaponBackground.SetTexture(gameuiMaterial, GameUITexturePosition.WeaponLogoBackground, AutoRect.AutoSize(GameUITexturePosition.WeaponLogoBackground));


        int  weaponLogoIndex = GameApp.GetInstance().GetGameState().GetWeaponIndex(player.GetWeapon());
        Rect weaponlogoRect  = GameUITexturePosition.GetWeaponLogoRect(weaponLogoIndex);

        weaponLogo      = new UIClickButton();
        weaponLogo.Rect = AutoRect.AutoPos(uiPos.WeaponLogo);
        weaponLogo.SetTexture(UIButtonBase.State.Normal, gameuiMaterial, weaponlogoRect, AutoRect.AutoSize(weaponlogoRect));
        weaponLogo.SetTexture(UIButtonBase.State.Pressed, gameuiMaterial, weaponlogoRect, AutoRect.AutoSize(weaponlogoRect));


        switchImg      = new UIImage();
        switchImg.Rect = AutoRect.AutoPos(uiPos.Switch);
        switchImg.SetTexture(gameuiMaterial, GameUITexturePosition.Switch, AutoRect.AutoSize(GameUITexturePosition.Switch));
        switchImg.Enable = true;

        Material buttonsMaterial = UIResourceMgr.GetInstance().GetMaterial("Buttons");

        bulletsLogo      = new UIImage();
        bulletsLogo.Rect = AutoRect.AutoPos(uiPos.BulletsLogo);
        Rect bulletlogoRect = ButtonsTexturePosition.GetBulletsLogoRect((int)player.GetWeapon().GetWeaponType());

        bulletsLogo.SetTexture(buttonsMaterial, bulletlogoRect, AutoRect.AutoSize(bulletlogoRect));
        bulletsLogo.Enable = false;



        InputController inputController = player.InputController;
        //Move Joystick
        Vector2 thumbCenter = inputController.ThumbCenter;

        joystickImage      = new UIImage();
        joystickImage.Rect = new Rect((thumbCenter.x - inputController.ThumbRadius), ((Screen.height - thumbCenter.y) - inputController.ThumbRadius), AutoRect.AutoValue(169), AutoRect.AutoValue(168));
        joystickImage.SetTexture(gameuiMaterial, GameUITexturePosition.MoveJoystick, AutoRect.AutoSize(GameUITexturePosition.MoveJoystick));

        joystickThumb = new UIImage();
        joystickThumb.SetTexture(gameuiMaterial, GameUITexturePosition.MoveJoystickThumb, AutoRect.AutoSize(GameUITexturePosition.MoveJoystickThumb));

        thumbCenter             = inputController.ShootThumbCenter;
        shootjoystickImage      = new UIImage();
        shootjoystickImage.Rect = new Rect((thumbCenter.x - inputController.ThumbRadius), ((Screen.height - thumbCenter.y) - inputController.ThumbRadius), AutoRect.AutoValue(169), AutoRect.AutoValue(168));
        shootjoystickImage.SetTexture(gameuiMaterial, GameUITexturePosition.ShootJoystick, AutoRect.AutoSize(GameUITexturePosition.ShootJoystick));
        shootjoystickImage.SetRotation(Mathf.Deg2Rad * 180);

        shootjoystickThumb = new UIImage();
        shootjoystickThumb.SetTexture(gameuiMaterial, GameUITexturePosition.ShootJoystickThumb, AutoRect.AutoSize(GameUITexturePosition.ShootJoystickThumb));


        pauseButton      = new UIClickButton();
        pauseButton.Rect = AutoRect.AutoPos(uiPos.PauseButton);
        pauseButton.SetTexture(UIButtonBase.State.Normal, gameuiMaterial, GameUITexturePosition.PauseButtonNormal, AutoRect.AutoSize(GameUITexturePosition.PauseButtonNormal));
        pauseButton.SetTexture(UIButtonBase.State.Pressed, gameuiMaterial, GameUITexturePosition.PauseButtonPressed, AutoRect.AutoSize(GameUITexturePosition.PauseButtonPressed));


        //Cash
        cashText = new UIText();
        //cashText.Rect = new Rect(0.05f * Screen.width, 0.75f * Screen.height, 400, 50);
        cashText.AlignStyle = UIText.enAlignStyle.center;
        cashText.Rect       = AutoRect.AutoPos(uiPos.CashText);
        cashText.Set(ConstData.FONT_NAME1, "$" + GameApp.GetInstance().GetGameState().GetCash().ToString("N0"), ColorName.fontColor_orange);



        //Weapon Info
        weaponInfoText            = new UIText();
        weaponInfoText.AlignStyle = UIText.enAlignStyle.left;

        weaponInfoText.Rect = AutoRect.AutoPos(uiPos.WeaponInfo);
        weaponInfoText.Set(ConstData.FONT_NAME2, fpsStr, ColorName.fontColor_darkorange);



        fpsText            = new UIText();
        fpsText.AlignStyle = UIText.enAlignStyle.left;
        fpsText.Rect       = AutoRect.AutoPos(uiPos.LevelInfo);
        fpsText.Set(ConstData.FONT_NAME3, "", Color.white);

        dayInfoPanel = new DayInfoPanel();
        dayInfoPanel.SetDay(GameApp.GetInstance().GetGameState().LevelNum);

        mask = new UIImage();
        mask.SetTexture(gameuiMaterial, GameUITexturePosition.Mask, AutoRect.AutoSize(uiPos.Mask));
        mask.Rect = AutoRect.AutoValuePos(uiPos.Mask);

        Vector2 size = AutoRect.AutoSize(GameUITexturePosition.SemiMaskSize);
        Rect    pos  = AutoRect.AutoPos(uiPos.RightSemiMask);

        if (AutoRect.GetPlatform() == Platform.IPad)
        {
            size = new Vector2(512, 768);
            pos  = new Rect(512, 0, 512, 768);
        }
        semiMask = new UIImage();
        semiMask.SetTexture(gameuiMaterial, GameUITexturePosition.Mask, size);
        semiMask.Rect = pos;



        unlockPanel = new UnlockPanel();


        m_UIManager.Add(dayInfoPanel);
        m_UIManager.Add(hpBackground);
        m_UIManager.Add(hpImage);
        m_UIManager.Add(playerLogoBackgroundImage);
        m_UIManager.Add(playerLogoImage);
        m_UIManager.Add(joystickImage);
        m_UIManager.Add(joystickThumb);
        m_UIManager.Add(shootjoystickImage);
        m_UIManager.Add(shootjoystickThumb);
        m_UIManager.Add(weaponBackground);
        m_UIManager.Add(weaponLogo);
        m_UIManager.Add(switchImg);
        m_UIManager.Add(pauseButton);
        m_UIManager.Add(semiMask);
        if (Application.loadedLevelName == SceneName.SCENE_TUTORIAL)
        {
            m_UIManager.Add(dialog);
        }
        m_UIManager.Add(bulletsLogo);
        m_UIManager.Add(weaponInfoText);
        //m_UIManager.Add(cashText);
        m_UIManager.Add(mask);

        m_UIManager.Add(dayclear);
        //m_UIManager.Add(fpsText);

        m_UIManager.Add(unlockPanel);


        semiMask.Enable  = false;
        semiMask.Visible = false;
        dayInfoPanel.Show();
        uiInited = true;

        EnableTutorialOKButton(false);
        mask.Enable  = false;
        mask.Visible = false;

        SetWeaponLogo(player.GetWeapon().GetWeaponType());

        panels[GameUIName.PAUSE] = new PauseMenuUI();
        ((PauseMenuUI)panels[GameUIName.PAUSE]).SetGameUIScript(this);

        panels[GameUIName.GAME_OVER] = new GameOverUI();
        panels[GameUIName.NEW_ITEM]  = new NewItemUI();

        //unlockPanel.Show();
        for (int i = 0; i < GameUIName.UI_COUNT; i++)
        {
            m_UIManager.Add(panels[i]);
        }
        startTime = Time.time;
    }