Exemplo n.º 1
0
 internal EngineerProgressEvent InvokeEvent(EngineerProgressEvent arg)
 {
     if (_api.ValidateEvent(arg))
     {
         EngineerProgress?.Invoke(_api, arg);
     }
     return(arg);
 }
 private IEnumerable <ApiEvent> ConvertEvent(EngineerProgress @event)
 {
     yield return(new ApiEvent("setCommanderRankEngineer")
     {
         EventData = new Dictionary <string, object> {
             { "engineerName", @event.Engineer },
             { "rankStage", @event.Progress },
             { "rankValue", @event.Rank }
         },
         Timestamp = @event.Timestamp
     });
 }
Exemplo n.º 3
0
 private IEnumerable <ApiEvent> ConvertEvent(EngineerProgress @event)
 {
     if (@event.Engineers != null)
     {
         foreach (var engineer in @event.Engineers)
         {
             yield return(new ApiEvent("setCommanderRankEngineer")
             {
                 EventData = new Dictionary <string, object>
                 {
                     { "engineerName", engineer.EngineerName },
                     { "rankStage", engineer.Progress },
                     { "rankValue", engineer.Rank }
                 },
                 Timestamp = @event.Timestamp
             });
         }
     }
 }
Exemplo n.º 4
0
        public override void Handle(EngineerProgress e)
        {
            // We are only interested in the engineer's unlock event which
            // is signified by Progress=Unlocked and Rank=1.
            if (e.Progress == null ||
                e.Progress != "Unlocked" ||
                e.Rank != 1)
            {
                return;
            }

            // The logs do not provide the actual materials or commodities
            // that are relieved of you buy the engineers.  We look these values
            // up in a table.
            if (EngineerCostLookup.ContainsKey(e.Engineer))
            {
                AddMats(EngineerCostLookup[e.Engineer], e);
            }
            else
            {
                UnknownEngineers.Add(e.Engineer);
            }
        }
Exemplo n.º 5
0
 public abstract void Handle(EngineerProgress e);
Exemplo n.º 6
0
 public override void Handle(EngineerProgress e)
 {
 }