예제 #1
0
        public void Deserialize(BinaryFileReader reader)
        {
            int version = reader.ReadInt();

            if (version >= 0)
            {
                m_CombatantMobile = reader.ReadMobile() as PlayerMobile;
                m_combatRating    = reader.ReadInt();

                m_Rank = (CombatRank)reader.ReadInt();

                m_totalDeaths = reader.ReadInt();
                m_totalKills  = reader.ReadInt();
            }
        }
예제 #2
0
 public override void FillInformation(out string summary, out string info, out string detailed) //V
 {
     summary  = EventTypeStr.SplitCapsWord();
     info     = BaseUtils.FieldBuilder.Build("Hired ;", Name, "< of faction ", Faction, " Rank ", CombatRank.ToString().SplitCapsWord(), "Cost ; credits", Cost);
     detailed = "";
 }
예제 #3
0
 public override void FillInformation(out string summary, out string info, out string detailed)  //V
 {
     summary  = EventTypeStr.SplitCapsWord();
     info     = Tools.FieldBuilder("", Victim, "Rank:", CombatRank.ToString().SplitCapsWord());
     detailed = "";
 }
예제 #4
0
 public override void FillInformation(out string info, out string detailed)
 {
     info     = BaseUtils.FieldBuilder.Build(";Submitted".Txb(this), Submitted, "< to ".Txb(this), Interdictor_Localised, "< (NPC);(Player)".Txb(this), IsPlayer, "Rank:", CombatRank.ToString().SplitCapsWord(), "Faction:".Txb(this), Faction, "Power:".Txb(this), Power);
     detailed = "";
 }
예제 #5
0
 public override void FillInformation(out string info, out string detailed) //V
 {
     info     = BaseUtils.FieldBuilder.Build("Failed to interdict;Interdicted", Success, "< ", Interdicted, "< (NPC);(Player)", IsPlayer, "Rank:", CombatRank.ToString().SplitCapsWord(), "Faction:", Faction, "Power:", Power);
     detailed = "";
 }
예제 #6
0
 public override void FillInformation(out string summary, out string info, out string detailed) //V
 {
     summary  = EventTypeStr.SplitCapsWord();
     info     = Tools.FieldBuilder(";Submitted", Submitted, "< To ", Interdictor, "< (NPC);(Player)", IsPlayer, "Rank:", CombatRank.ToString().SplitCapsWord(), "Faction:", Faction, "Power:", Power);
     detailed = "";
 }
예제 #7
0
        internal PlayerStatus(EliteDangerousAPI api)
        {
            api.GameEvents.Status += (s, e) =>
            {
                lock (_lock)
                {
                    if (LegalState != e.LegalState)
                    {
                        LegalState = e.LegalState;
                        api.InvokePlayerStatusChanged(this);
                    }
                }
            };

            api.GameEvents.LoadGame += (s, e) =>
            {
                lock (_lock)
                {
                    FrontierId = e.FrontierId;
                    Commander  = e.Commander;
                    api.InvokePlayerStatusChanged(this);
                }
            };

            api.GameEvents.ClearSavedGame += (s, e) =>
            {
                lock (_lock)
                {
                    FrontierId = e.FrontierId;
                    Commander  = e.Name;
                    api.InvokePlayerStatusChanged(this);
                }
            };

            api.PlayerEvents.NewCommander += (s, e) =>
            {
                lock (_lock)
                {
                    FrontierId = e.FrontierId;
                    Commander  = e.Name;
                    api.InvokePlayerStatusChanged(this);
                }
            };

            api.PlayerEvents.Commander += (s, e) =>
            {
                lock (_lock)
                {
                    FrontierId = e.FrontierId;
                    Commander  = e.Name;
                    api.InvokePlayerStatusChanged(this);
                }
            };

            api.PlayerEvents.Progress += (s, e) =>
            {
                lock (_lock)
                {
                    CombatRank.Progress      = e.Combat;
                    TradeRank.Progress       = e.Trade;
                    ExplorationRank.Progress = e.Explore;
                    FederationRank.Progress  = e.Federation;
                    EmpireRank.Progress      = e.Empire;
                    CqcRank.Progress         = e.Cqc;

                    api.InvokePlayerStatusChanged(this);
                }
            };

            api.PlayerEvents.Promotion += (s, e) =>
            {
                lock (_lock)
                {
                    CombatRank.UpdateRank(e.Combat);
                    TradeRank.UpdateRank(e.Trade);
                    ExplorationRank.UpdateRank(e.Explore);
                    EmpireRank.UpdateRank(e.Empire);
                    FederationRank.UpdateRank(e.Federation);
                    CqcRank.UpdateRank(e.Cqc);

                    api.InvokePlayerStatusChanged(this);
                }
            };

            api.PlayerEvents.Rank += (s, e) =>
            {
                lock (_lock)
                {
                    CombatRank.UpdateRank(e.Combat);
                    TradeRank.UpdateRank(e.Trade);
                    ExplorationRank.UpdateRank(e.Explore);
                    EmpireRank.UpdateRank(e.Empire);
                    FederationRank.UpdateRank(e.Federation);
                    CqcRank.UpdateRank(e.Cqc);

                    api.InvokePlayerStatusChanged(this);
                }
            };

            api.PlayerEvents.Reputation += (s, e) =>
            {
                lock (_lock)
                {
                    EmpireReputation      = new MajorReputation(e.Empire);
                    FederationReputation  = new MajorReputation(e.Federation);
                    IndependentReputation = new MajorReputation(e.Independent);
                    AllianceReputation    = new MajorReputation(e.Alliance);

                    api.InvokePlayerStatusChanged(this);
                }
            };
        }
예제 #8
0
 public override void FillInformation(out string info, out string detailed)
 {
     info     = BaseUtils.FieldBuilder.Build("Failed to interdict;Interdicted".T(EDTx.JournalEntry_Failedtointerdict), Success, "< ", Interdicted_Localised, "< (NPC);(Player)".T(EDTx.JournalEntry_NPC), IsPlayer, "Rank:", CombatRank.ToString().SplitCapsWord(), "Faction:".T(EDTx.JournalEntry_Faction), Faction, "Power:".T(EDTx.JournalEntry_Power), Power);
     detailed = "";
 }
        public override void FillInformation(ISystem sys, out string info, out string detailed)
        {
            if (Submitted)
            {
                info = BaseUtils.FieldBuilder.Build(";Submitted".T(EDTx.JournalEntry_Submitted), Submitted, "< to ".T(EDTx.JournalEntry_to), Interdictor_Localised, "< (NPC);(Player)".T(EDTx.JournalEntry_NPC), IsPlayer, "Rank:", CombatRank.ToString().SplitCapsWord(), "Faction:".T(EDTx.JournalEntry_Faction), Faction, "Power:".T(EDTx.JournalEntry_Power), Power);
            }
            else
            {
                info = BaseUtils.FieldBuilder.Build("<By ".T(EDTx.JournalEntry_to), Interdictor_Localised, "< (NPC);(Player)".T(EDTx.JournalEntry_NPC), IsPlayer, "Rank:", CombatRank.ToString().SplitCapsWord(), "Faction:".T(EDTx.JournalEntry_Faction), Faction, "Power:".T(EDTx.JournalEntry_Power), Power);
            }

            detailed = "";
        }
예제 #10
0
 public static string GetText(CombatRank combatRank) => App.GetResource <string>($"Rank.Combat.{(int)combatRank}.Text");
예제 #11
0
 public static DrawingImage GetVector(CombatRank combatRank) => App.GetResource <DrawingImage>($"Rank.Combat.{(int)combatRank}.DrawingImage");