Exemple #1
0
 public async Task OnEventAsync(Event E, Server S)
 {
     switch (E.Type)
     {
         case Event.GType.Start:
             Manager.AddServer(S);
             break;
         case Event.GType.Stop:
             break;
         case Event.GType.Connect:
             Manager.AddPlayer(E.Origin);
             break;
         case Event.GType.Disconnect:
             await Manager.RemovePlayer(E.Origin);
             break;
         case Event.GType.Say:
             if (E.Data != string.Empty && E.Data.Trim().Length > 0 && E.Data.Trim()[0] != '!')
                 await Manager.AddMessageAsync(E.Origin.ClientId, E.Owner.GetHashCode(), E.Data);
             break;
         case Event.GType.MapChange:
             break;
         case Event.GType.MapEnd:
             await Manager.Sync(S);
             break;
         case Event.GType.Broadcast:
             break;
         case Event.GType.Tell:
             break;
         case Event.GType.Kick:
             break;
         case Event.GType.Ban:
             break;
         case Event.GType.Remote:
             break;
         case Event.GType.Unknown:
             break;
         case Event.GType.Report:
             break;
         case Event.GType.Flag:
             break;
         case Event.GType.Script:
             break;
         case Event.GType.Kill:
             string[] killInfo = (E.Data != null) ? E.Data.Split(';') : new string[0];
             if (killInfo.Length >= 9 && killInfo[0].Contains("ScriptKill") && E.Owner.CustomCallback)
                 await Manager.AddScriptKill(E.Origin, E.Target, S.GetHashCode(), S.CurrentMap.Name, killInfo[7], killInfo[8], killInfo[5], killInfo[6], killInfo[3], killInfo[4]);
             else if (!E.Owner.CustomCallback)
                 await Manager.AddStandardKill(E.Origin, E.Target);
             break;
         case Event.GType.Death:
             break;
     }
 }