Пример #1
0
 public EatResponse OnEvent(EventId id, object cookie)
 {
     if (id <= EventId.BattleEndFullyProcessed)
     {
         if (id != EventId.BattleLoadStart)
         {
             if (id != EventId.BattleEndFullyProcessed)
             {
                 return(EatResponse.NotEaten);
             }
         }
         else
         {
             if (this.controller.WarManager.CurrentSquadWar != null)
             {
                 CurrentBattle currentBattle = Service.Get <BattleController>().GetCurrentBattle();
                 SquadWarBuffManager.AddWarBuffs(currentBattle.Type, currentBattle.AttackerWarBuffs, currentBattle.DefenderWarBuffs);
                 return(EatResponse.NotEaten);
             }
             return(EatResponse.NotEaten);
         }
     }
     else
     {
         if (id == EventId.BattleReplaySetup)
         {
             BattleRecord battleRecord = (BattleRecord)cookie;
             SquadWarBuffManager.AddWarBuffs(battleRecord.BattleType, battleRecord.AttackerWarBuffs, battleRecord.DefenderWarBuffs);
             return(EatResponse.NotEaten);
         }
         if (id != EventId.BattleLeftBeforeStarting)
         {
             return(EatResponse.NotEaten);
         }
     }
     Service.Get <BuffController>().ClearWarBuffs();
     return(EatResponse.NotEaten);
 }
Пример #2
0
        public EatResponse OnEvent(EventId id, object cookie)
        {
            switch (id)
            {
            case EventId.BattleReplaySetup:
            {
                BattleRecord battleRecord = (BattleRecord)cookie;
                SquadWarBuffManager.AddWarBuffs(battleRecord.BattleType, battleRecord.AttackerWarBuffs, battleRecord.DefenderWarBuffs);
                return(EatResponse.NotEaten);
            }

            case EventId.BattleRecordRetrieved:
IL_18:
                if (id == EventId.BattleLoadStart)
                {
                    if (this.controller.WarManager.CurrentSquadWar != null)
                    {
                        CurrentBattle currentBattle = Service.BattleController.GetCurrentBattle();
                        SquadWarBuffManager.AddWarBuffs(currentBattle.Type, currentBattle.AttackerWarBuffs, currentBattle.DefenderWarBuffs);
                    }
                    return(EatResponse.NotEaten);
                }
                if (id != EventId.BattleEndFullyProcessed)
                {
                    return(EatResponse.NotEaten);
                }
                goto IL_92;

            case EventId.BattleLeftBeforeStarting:
                goto IL_92;
            }
            goto IL_18;
IL_92:
            Service.BuffController.ClearWarBuffs();
            return(EatResponse.NotEaten);
        }
Пример #3
0
 public unsafe static long $Invoke0(long instance, long *args)
 {
     SquadWarBuffManager.AddWarBuffs((BattleType)(*(int *)args), (List <string>)GCHandledObjects.GCHandleToObject(args[1]), (List <string>)GCHandledObjects.GCHandleToObject(args[2]));
     return(-1L);
 }