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)); } }
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); } }
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); } } } }
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)); } }
// 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; * } */ } }
// 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; }