protected override void updateMouse() { if (m_bounds.contains(MouseHandler.getCurPos())) { m_currentState = State.Hover; m_text.p_color = m_hoverColor; if (MouseHandler.lmbPressed()) { m_currentState = State.Pressed; playDownSound(); m_text.p_color = m_pressedColor; } if (MouseHandler.lmbUp()) { playUpSound(); if (m_clickEvent != null) { m_clickEvent(this); } m_text.p_color = m_hoverColor; } } else if (!m_bounds.contains(MouseHandler.getCurPos()) && m_bounds.contains(MouseHandler.getPrePos())) { m_currentState = State.Normal; m_text.p_color = m_normalColor; } }
private void updateMouse() { if (MouseHandler.lmbPressed()) { switch (m_state) { case GuiState.AttackTarget: foreach (Champion l_champion in m_gameState.getChampions()) { if (l_champion.getHitBox().contains(MouseHandler.worldMouse()) && l_champion.getTile().p_tileState == Tile.TileState.Toggle) { ((GameState)Game.getInstance().getCurrentState()).getSelectedChampion().attack(l_champion); restoreStates(); break; } } break; case GuiState.Move: foreach (Tile l_tile in m_gameState.getTileMap().toLinkedList(Tile.TileState.Toggle)) { if (l_tile != null && l_tile.getHitBox().contains(MouseHandler.worldMouse())) { m_gameState.getSelectedChampion().moveTo(l_tile); restoreStates(); break; } } break; case GuiState.SelectFacing: foreach (Tile l_tile in m_gameState.getTileMap().toLinkedList(Tile.TileState.Toggle)) { if (l_tile != null && l_tile.getHitBox().contains(MouseHandler.worldMouse())) { m_gameState.getSelectedChampion().faceTile(l_tile); m_gameState.deselectChampion(); restoreStates(); break; } } break; } } if (MouseHandler.rmbPressed()) { if (m_state == GuiState.AttackTarget || m_state == GuiState.Move || m_state == GuiState.ActionMenu) { restoreStates(); } } }