001package com.fs.starfarer.api.impl.campaign.plog; 002 003import java.lang.ref.WeakReference; 004import java.util.ArrayList; 005import java.util.List; 006 007import com.fs.starfarer.api.Global; 008import com.fs.starfarer.api.fleet.FleetMemberAPI; 009 010/** 011 * IMPORTANT: only one S-Mod per record is supported. 012 * @author Alex 013 * 014 * Copyright 2021 Fractal Softworks, LLC 015 */ 016public class SModRecord { 017 018 protected WeakReference<FleetMemberAPI> member; 019 protected List<String> smods = new ArrayList<String>(); 020 protected int spSpent; 021 protected float bonusXPFractionGained; 022 protected long timestamp; 023 024 public SModRecord(FleetMemberAPI member) { 025 this.member = new WeakReference<FleetMemberAPI>(member); 026 this.timestamp = Global.getSector().getClock().getTimestamp(); 027 } 028 029 public FleetMemberAPI getMember() { 030 return member == null ? null : member.get(); 031 } 032 public void setMember(FleetMemberAPI member) { 033 this.member = new WeakReference<FleetMemberAPI>(member); 034 } 035 public List<String> getSMods() { 036 return smods; 037 } 038 public void setSmods(List<String> smods) { 039 this.smods = smods; 040 } 041 public long getTimestamp() { 042 return timestamp; 043 } 044 public void setTimestamp(long timestamp) { 045 this.timestamp = timestamp; 046 } 047 048 public int getSPSpent() { 049 return spSpent; 050 } 051 052 public void setSPSpent(int spSpent) { 053 this.spSpent = spSpent; 054 } 055 056 public float getBonusXPFractionGained() { 057 return bonusXPFractionGained; 058 } 059 060 public void setBonusXPFractionGained(float bonusXPFractionGained) { 061 this.bonusXPFractionGained = bonusXPFractionGained; 062 } 063 064 065}