public override void update() { m_hitbox.update(); bool l_collided = CollisionManager.hexagonContains(this, MouseHandler.worldMouse(), TILE_WIDTH, TILE_HEIGHT); if (l_collided && !m_ignoreMouse && !m_tileMap.p_ignoreMouse) { m_tileMap.p_hover = this; if (m_tileAbove != null) { m_tileAbove.ignoreMouse(true); } switch (m_tileState) { case TileState.Normal: m_tileState = TileState.Hover; break; case TileState.Hover: if (MouseHandler.lmbDown()) { m_tileState = TileState.Pressed; } break; case TileState.Pressed: if (MouseHandler.lmbUp()) { m_tileState = TileState.Hover; } break; case TileState.Toggle: if (MouseHandler.lmbUp()) { m_tileState = TileState.Normal; } m_tileState = TileState.Hover; break; } } else { if (m_hoverOverToggle) { m_tileState = TileState.Toggle; } else { m_tileState = TileState.Normal; } if (m_tileAbove != null) { m_tileAbove.ignoreMouse(false); } } base.update(); }