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}