/* * Copyright (c) 2012. HappyDroids LLC, All rights reserved. */ package com.happydroids.droidtowers.entities; import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.g2d.Sprite; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.graphics.g2d.SpriteCache; import com.badlogic.gdx.graphics.g2d.TextureAtlas; import com.happydroids.droidtowers.TowerAssetManager; import com.happydroids.droidtowers.grid.GameGrid; import com.happydroids.droidtowers.gui.GridObjectPopOver; import com.happydroids.droidtowers.math.GridPoint; import com.happydroids.droidtowers.types.TransitType; import java.util.List; public class Stair extends Transit { private Sprite sprite; public Stair(TransitType stairType, GameGrid gameGrid) { super(stairType, gameGrid); TextureAtlas textureAtlas = TowerAssetManager.textureAtlas(stairType.getAtlasFilename()); sprite = textureAtlas.createSprite("stairs"); } @Override public boolean canShareSpace(GridObject gridObject) { return gridObject instanceof Room || gridObject instanceof Stair; } @Override public Sprite getSprite() { return sprite; } @Override public void render(SpriteBatch spriteBatch, SpriteCache spriteCache, Color renderTintColor) { // stairs need to support overflowing into adjacent cells. if (sprite != null) { sprite.setColor(renderColor); sprite.setPosition(position.getWorldX(), position.getWorldY()); sprite.draw(spriteBatch); } } @Override public List<GridPoint> getGridPointsTouched() { List<GridPoint> points = super.getGridPointsTouched(); points.add(new GridPoint(position.x, position.y + 2)); points.add(new GridPoint(position.x + 1, position.y + 2)); return points; } @Override public float getDesirability() { return 0; } @Override public GridObjectPopOver makePopOver() { return null; } @Override protected boolean hasPopOver() { return false; } }