IProjectile - SmArtKar/AthenaFramework GitHub Wiki

IProjectile works similarly to CompProjectile

    public interface IProjectile
    {

        public abstract void Launch(Thing launcher, Vector3 origin, LocalTargetInfo usedTarget, LocalTargetInfo intendedTarget, ProjectileHitFlags hitFlags, bool preventFriendlyFire, Thing equipment, ThingDef targetCoverDef);

        public abstract void Impact(Thing hitThing, ref bool blockedByShield);

        public abstract void CanHit(Thing hitThing, ref bool result);

        // Must be added to AthenaCache.projectileCache to work
        // AthenaCache.AddCache(this, AthenaCache.projectileCache, parent.thingIDNumber)
    }