001package com.fs.starfarer.api.combat; 002 003import org.lwjgl.util.vector.Vector2f; 004 005/** 006 * Covers the map plus a 100 pixel area around it. 007 * 008 * @author Alex Mosolov 009 * 010 * Copyright 2016 Fractal Softworks, LLC 011 */ 012public interface CombatNebulaAPI { 013 014 public interface CloudAPI { 015 void thicken(float thicknessGain); 016 Vector2f getLocation(); 017 float getThickness(); 018 void setThickness(float thickness); 019 020 } 021 022 int getTilesWide(); 023 int getTilesHigh(); 024 025 float getTileSizeInPixels(); 026 boolean tileHasNebula(int cellX, int cellY); 027 boolean locationHasNebula(float x, float y); 028 029 /** 030 * Number of cells to the left of x = 0. 031 * @return 032 */ 033 int getLeftOf(); 034 035 036 /** 037 * Number of cells below y = 0. 038 * @return 039 */ 040 int getBelow(); 041 042 /** 043 * Number of cells to the right of x = 0. 044 * @return 045 */ 046 int getRightOf(); 047 048 /** 049 * Number of cells above y = 0. 050 * @return 051 */ 052 int getAbove(); 053 054 void setHasNebula(int cellX, int cellY, float brightness); 055 CloudAPI getCloud(float x, float y); 056 CloudAPI getCloud(int cellX, int cellY); 057}