001package com.fs.starfarer.api.combat;
002
003
004/**
005 * NOTE: An implementation of this should almost always also implement GuidedMissileAI, this is required
006 * for the missile to be properly affected by flares.
007 * 
008 * If missile is tracking a target that phases or gets its collision class set to NONE, 
009 * the default missile AI will fly in a straight line and continue to accelerate until
010 * the target is again trackable, at which point it will start actively tracking it again.
011 * It will *not* switch targets when its current target phases/has collision class set to NONE.
012 * 
013 * Custom guided missile AI implementations don't have to preserve this behavior, but if they
014 * intend to mimic the vanilla missile AI, they should.
015 * 
016 * @author Alex Mosolov
017 *
018 * Copyright 2015 Fractal Softworks, LLC
019 */
020public interface MissileAIPlugin {
021        /**
022         * The AI should do its main work here.
023         * @param amount
024         */
025        void advance(float amount);
026}