001package com.fs.starfarer.api.impl.campaign;
002
003import org.lwjgl.util.vector.Vector2f;
004
005import com.fs.starfarer.api.Global;
006import com.fs.starfarer.api.campaign.CampaignEngineLayers;
007import com.fs.starfarer.api.campaign.SectorEntityToken;
008import com.fs.starfarer.api.combat.ViewportAPI;
009import com.fs.starfarer.api.graphics.SpriteAPI;
010
011public class ExampleCustomEntityPlugin extends BaseCustomEntityPlugin {
012
013        //private SectorEntityToken entity;
014        
015        transient private SpriteAPI sprite; // needs to be transient - can't save sprites
016        public void init(SectorEntityToken entity, Object pluginParams) {
017                super.init(entity, pluginParams);
018                //this.entity = entity;
019                readResolve();
020        }
021        
022        // this methods gets called after the object is loaded from a savefile
023        // init the sprite here
024        Object readResolve() {
025                sprite = Global.getSettings().getSprite("misc", "wormhole_ring");
026                return this;
027        }
028        
029        public void advance(float amount) {
030                
031        }
032
033        public float getRenderRange() {
034                return entity.getRadius() + 100f;
035        }
036
037        public void render(CampaignEngineLayers layer, ViewportAPI viewport) {
038                
039                float alphaMult = viewport.getAlphaMult();
040                Vector2f loc = entity.getLocation();
041                sprite.setSize(128, 128);
042                sprite.setAlphaMult(alphaMult);
043                sprite.setAdditiveBlend();
044                sprite.renderAtCenter(loc.x, loc.y);
045        }
046        
047
048}
049
050
051