/// <summary> /// Primary update method. Runs update method calls when needed. /// </summary> /// <seealso cref="CurrentGameState"/> public static void Update() { switch (CurrentGameState) { case GAMESTATE.ACTIVE: MenuHandler.CheckKeys(); foreach (AnimatedSprite sprite in allCharacterSprites) { sprite.Update(); sprite.Buffs.Update(); ObjectMapper.DeleteSpriteObject(sprite); ObjectMapper.AddSpriteObject(sprite); } foreach (Projectile item in allProjectiles) { item.Update(); } foreach (MapInteractable i in selectedMap.InteractableLayer) { i.MapAction?.Invoke(); } foreach (TimerHelper t in TimerHelper.Timers) { t.Update(); } if (Game.PlayerManager.EquippedWeapon != null) { Game.PlayerManager.EquippedWeapon.Sprite.Update(); } if (purgeProjectiles.Count != 0) { DeleteProjectiles(); } if (purgeSprites.Count != 0) { DeleteSprites(); } PlayerInfoUI.Update(); break; case GAMESTATE.MAINMENU: break; case GAMESTATE.PAUSED: MenuHandler.CheckKeys(); if (DialogueHandler.ActiveDialogue != null) { DialogueHandler.Update(); } else { MenuHandler.Update(); } PlayerInfoUI.Update(); break; default: throw new NotSupportedException("Game has entered an invalid gamestate: " + CurrentGameState); } }
public void AddPlayerInfo(string name) { PlayerInfoUI playerInfo = Instantiate(playerInfoPrefab, Vector3.zero, Quaternion.identity).GetComponent <PlayerInfoUI>(); playerInfo.player = FightManager.Instance.players[name]; playerInfo.transform.SetParent(transform, false); playerInfos.Add(name, playerInfo); }
public void OnPointerClick(PointerEventData eventData) { if (player.isLocalPlayer) { return; } PlayerInfoUI playerInfo = GameObject.FindObjectOfType <PlayerInfoUI>(); playerInfo.loadInfo(player, isAIPlayer); }
void Start() { gameStateMachine_Ref = GameStateMachine.GetInstance(); gameStateMachine_Ref.inGameUIManager_Ref = this; playerOneInfo_Ref = gameStateMachine_Ref.playerInfoOne_Ref; playerTwoInfo_Ref = gameStateMachine_Ref.playerInfoTwo_Ref; playerOneIntroUIAnim_Ref = playerOneIntroTauntImage_Ref.GetComponent <PortraitAnimation>(); playerTwoIntroUIAnim_Ref = playerTwoIntroTauntImage_Ref.GetComponent <PortraitAnimation>(); Invoke("FirstUIUpdate", 0.11f); }
public void Operating(bool bStatic) { if (PlayerInfoUI == null) { return; } Roleui uiInfo = PlayerInfoUI.GetComponent <Roleui>(); if (uiInfo != null) { uiInfo.SetReady(bStatic); } }
public void PopValueChange(int Value, PropertyType chgType, int hpMax, int mpMax, InvokePkg.CallBack callback = null, bool isCritical = false) { if (Value == 0) { if (callback != null) { callback(); } return; } if (null == PlayerInfoUI) { return; } Roleui roleinfoUI = PlayerInfoUI.GetComponent <Roleui>(); if (null == roleinfoUI) { return; } roleinfoUI.ValueChange(chgType, Value, hpMax, mpMax, true, false); if (isCritical) { EffectAPI.Play((EFFECT_ID)GlobalValue.EFFECT_Critical, ActorObj.transform.position + ActorObj.transform.forward, null, null, null, (EffectInst inst, ParamData pData) => { inst.gameObject.SetActive(true); //Battle.BattleOver -= inst.GetComponent<EffectInst>().DestorySelf; }); } if (PlayerID == GamePlayer.Instance.InstId) { AttaclPanel.Instance.ChangeValue(chgType, Value, hpMax, mpMax); } if (Battle.Instance.SelfActorBattleBaby != null) { if (PlayerID == Battle.Instance.SelfActorBattleBaby.InstId) { AttaclPanel.Instance.ChangeValueBaby(chgType, Value, hpMax, mpMax); } } if (callback != null) { GlobalInstanceFunction.Instance.Invoke(callback, 1f); } }
/// <summary> /// 슬롯 눌렀을 경우 처리 /// </summary> public void Clicked() { // 없는 아이템 중단 if (item == null) { return; } if (count <= 0) { return; } // 퀵등록 ItemManager im = GameMaster.script.itemManager; // UI 셋팅 im.selected = this; Debug.LogWarning("아이템 :: 상세보기 => " + GameData.gameMaster.itemManager.selected.item.index); im.nameText.text = item.name; im.infoText.text = item.info; // UI 호출 im.CallItemUseBox(); // 사용 버튼 비활성 im.btnUse.interactable = false; // 소유권 없을 시 사용 버튼 비활성 if (transform.parent.name == "item") // 플레이어 정보 UI 오브젝트일 경우 { PlayerInfoUI piui = transform.parent.parent.parent.parent.GetComponent <PlayerInfoUI>(); if (piui.owner == Player.me) // 사용자가 아이템 소유권자일 경우 { if (Turn.now == Player.me) // 사용자가 턴 진행중일 경우 { // 사용 버튼 활성 GameData.gameMaster.itemManager.btnUse.interactable = true; } } } }
public override void Init() { if (isInit == false) { playerInfo = transform.Find("Info").GetComponent <PlayerInfoUI>(); tehai = transform.Find("Tehai").GetComponent <TehaiUI>(); yama = transform.Find("Yama").GetComponent <YamaUI>(); hou = transform.Find("Hou").GetComponent <HouUI>(); fuuro = transform.Find("Fuuro").GetComponent <FuuroUI>(); tehai.Init(); yama.Init(); hou.Init(); fuuro.Init(); playerInfo.Init(); isInit = true; } }
/// <summary> /// Changes the game state. Primarily used to change the map. /// </summary> /// <param name="newMap">The map to be changed to</param> /// <param name="player">The player information to be handed in</param> /// <param name="newX">The new player position</param> /// <param name="newY">The new player position</param> public static void InitiateChange(BaseMap newMap, PlayerController player, Point pos, List <AnimatedSprite> newSprites = null) { Game.PlayerCharacter = player; Game.PlayerManager = (PlayerManager)Game.PlayerCharacter.Manager; allCharacterSprites.Clear(); allProjectiles.Clear(); selectedMap = newMap; ObjectMapper.MapObjects(selectedMap); if (newSprites != null) { allCharacterSprites.AddRange(newSprites); } else if (selectedMap.sprites != null) { allCharacterSprites.AddRange(selectedMap.sprites); } if (!allCharacterSprites.Contains(player)) { allCharacterSprites.Add(player); } LoadGameTextures(); PlayerInfoUI.Initialize(); if (Game.PlayerManager.Inventory == null) { Game.PlayerManager.Inventory = new InventoryManager(); } if (Game.PlayerManager.EquippedWeapon != null) { Game.PlayerManager.Inventory.Items[0] = Game.PlayerManager.EquippedWeapon; } Game.PlayerManager.Inventory.LoadItems(); MenuHandler.AllPopUps.RemoveAll((x) => x is InventoryManager); MenuHandler.AllPopUps.Add(Game.PlayerManager.Inventory); Game.PlayerCharacter.SpriteRectangle.Location = pos; }
/// <summary> /// Primary Draw method. Calls all draw methods required for game /// </summary> /// <param name="sp">The <c>SpriteBatch</c> given from the Game class.</param> public static void Draw(SpriteBatch sp) { int xMove = 0; int yMove = 0; switch (CurrentGameState) { case GAMESTATE.ACTIVE: ScreenOffset.X = (Game.PlayerCharacter.SpriteRectangle.X) - XOffset; ScreenOffset.Y = (Game.PlayerCharacter.SpriteRectangle.Y) - YOffset; FindOffset(out xMove, out yMove); sp.Begin(SpriteSortMode.Deferred, transformMatrix: Matrix.CreateTranslation(xMove, yMove, 0)); selectedMap.DrawMap(sp, (spr) => { foreach (MapObject i in extras) { i.Draw(spr); } foreach (AnimatedSprite item in allCharacterSprites) { item.Draw(spr); } foreach (Projectile item in allProjectiles) { item.Draw(spr); } if (Game.PlayerManager.EquippedWeapon != null) { Game.PlayerManager.EquippedWeapon.Sprite.Draw(spr); } }); PlayerInfoUI.Draw(sp); break; case GAMESTATE.MAINMENU: sp.Begin(SpriteSortMode.Deferred); if (MenuHandler.ActiveFullScreenMenu != null) { MenuHandler.DrawFullScreenMenu(sp); } break; case GAMESTATE.PAUSED: ScreenOffset.X = (Game.PlayerCharacter.SpriteRectangle.X) - XOffset; ScreenOffset.Y = (Game.PlayerCharacter.SpriteRectangle.Y) - YOffset; FindOffset(out xMove, out yMove); sp.Begin(SpriteSortMode.Deferred, transformMatrix: Matrix.CreateTranslation(xMove, yMove, 0)); selectedMap.DrawMap(sp, (spr) => { foreach (MapObject i in extras) { i.Draw(spr); } foreach (AnimatedSprite item in allCharacterSprites) { item.Draw(spr); } foreach (Projectile item in allProjectiles) { item.Draw(spr); } if (Game.PlayerManager.EquippedWeapon != null) { Game.PlayerManager.EquippedWeapon.Sprite.Draw(spr); } }); if (DialogueHandler.ActiveDialogue != null) { DialogueHandler.Draw(sp); } if (MenuHandler.ActivePopUp != null) { MenuHandler.DrawPopUpMenu(sp); } PlayerInfoUI.Draw(sp); break; default: throw new NotSupportedException("Game has entered an invalid gamestate: " + CurrentGameState); } sp.End(); }