Advertisement
Guest User

Untitled

a guest
Mar 22nd, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 54.99 KB | None | 0 0
  1. using System;
  2. using System.Threading;
  3. using UnityEngine;
  4.  
  5. namespace RTSEngine
  6. {
  7.     public class CustomEvents : MonoBehaviour
  8.     {
  9.         public delegate void UnitEventHandler(Unit Unit);
  10.  
  11.         public delegate void UnitResourceEventHandler(Unit UnitComp, Resource Resource);
  12.  
  13.         public delegate void UnitBuildingEventHandler(Unit UnitComp, Building Building);
  14.  
  15.         public delegate void UnitHealingEventHandler(Unit UnitComp, Unit TargetUnit);
  16.  
  17.         public delegate void UnitConvertingEventHandler(Unit UnitComp, Unit TargetUnit);
  18.  
  19.         public delegate void UnitSwitchingAttackEventHandler(Unit Unit, Attack From, Attack To);
  20.  
  21.         public delegate void UnitAttackEventHandler(Attack Source, GameObject Target, int AttackID);
  22.  
  23.         public delegate void BuildingEventHandler(Building Building);
  24.  
  25.         public delegate void BuildingUpgradeEventHandler(Building Building, bool Direct);
  26.  
  27.         public delegate void TaskEventHandler(Building Building, Building.BuildingTasksVars Task);
  28.  
  29.         public delegate void ResourceEventHandler(Resource Resource);
  30.  
  31.         public delegate void APCEventHandler(APC APC, Unit Unit);
  32.  
  33.         public delegate void PortalEventHandler(Portal From, Portal To, Unit Unit);
  34.  
  35.         public delegate void GameEventHandler(GameManager.FactionInfo FactionInfo);
  36.  
  37.         public delegate void InvisibilityEventHandler(Unit Unit);
  38.  
  39.         public delegate void CustomActionEventHandler(GameObject Source, GameObject Target, int ID);
  40.  
  41.         public bool DebugEnabled;
  42.  
  43.         public static event UnitEventHandler UnitCreated
  44.         {
  45.             add
  46.             {
  47.                 UnitEventHandler unitEventHandler = CustomEvents.UnitCreated;
  48.                 UnitEventHandler unitEventHandler2;
  49.                 do
  50.                 {
  51.                     unitEventHandler2 = unitEventHandler;
  52.                     unitEventHandler = Interlocked.CompareExchange(ref CustomEvents.UnitCreated, (UnitEventHandler)Delegate.Combine(unitEventHandler2, value), unitEventHandler);
  53.                 }
  54.                 while ((object)unitEventHandler != unitEventHandler2);
  55.             }
  56.             remove
  57.             {
  58.                 UnitEventHandler unitEventHandler = CustomEvents.UnitCreated;
  59.                 UnitEventHandler unitEventHandler2;
  60.                 do
  61.                 {
  62.                     unitEventHandler2 = unitEventHandler;
  63.                     unitEventHandler = Interlocked.CompareExchange(ref CustomEvents.UnitCreated, (UnitEventHandler)Delegate.Remove(unitEventHandler2, value), unitEventHandler);
  64.                 }
  65.                 while ((object)unitEventHandler != unitEventHandler2);
  66.             }
  67.         }
  68.  
  69.         public static event UnitEventHandler UnitDead
  70.         {
  71.             add
  72.             {
  73.                 UnitEventHandler unitEventHandler = CustomEvents.UnitDead;
  74.                 UnitEventHandler unitEventHandler2;
  75.                 do
  76.                 {
  77.                     unitEventHandler2 = unitEventHandler;
  78.                     unitEventHandler = Interlocked.CompareExchange(ref CustomEvents.UnitDead, (UnitEventHandler)Delegate.Combine(unitEventHandler2, value), unitEventHandler);
  79.                 }
  80.                 while ((object)unitEventHandler != unitEventHandler2);
  81.             }
  82.             remove
  83.             {
  84.                 UnitEventHandler unitEventHandler = CustomEvents.UnitDead;
  85.                 UnitEventHandler unitEventHandler2;
  86.                 do
  87.                 {
  88.                     unitEventHandler2 = unitEventHandler;
  89.                     unitEventHandler = Interlocked.CompareExchange(ref CustomEvents.UnitDead, (UnitEventHandler)Delegate.Remove(unitEventHandler2, value), unitEventHandler);
  90.                 }
  91.                 while ((object)unitEventHandler != unitEventHandler2);
  92.             }
  93.         }
  94.  
  95.         public static event UnitEventHandler UnitSelected
  96.         {
  97.             add
  98.             {
  99.                 UnitEventHandler unitEventHandler = CustomEvents.UnitSelected;
  100.                 UnitEventHandler unitEventHandler2;
  101.                 do
  102.                 {
  103.                     unitEventHandler2 = unitEventHandler;
  104.                     unitEventHandler = Interlocked.CompareExchange(ref CustomEvents.UnitSelected, (UnitEventHandler)Delegate.Combine(unitEventHandler2, value), unitEventHandler);
  105.                 }
  106.                 while ((object)unitEventHandler != unitEventHandler2);
  107.             }
  108.             remove
  109.             {
  110.                 UnitEventHandler unitEventHandler = CustomEvents.UnitSelected;
  111.                 UnitEventHandler unitEventHandler2;
  112.                 do
  113.                 {
  114.                     unitEventHandler2 = unitEventHandler;
  115.                     unitEventHandler = Interlocked.CompareExchange(ref CustomEvents.UnitSelected, (UnitEventHandler)Delegate.Remove(unitEventHandler2, value), unitEventHandler);
  116.                 }
  117.                 while ((object)unitEventHandler != unitEventHandler2);
  118.             }
  119.         }
  120.  
  121.         public static event UnitEventHandler UnitDeselcted
  122.         {
  123.             add
  124.             {
  125.                 UnitEventHandler unitEventHandler = CustomEvents.UnitDeselcted;
  126.                 UnitEventHandler unitEventHandler2;
  127.                 do
  128.                 {
  129.                     unitEventHandler2 = unitEventHandler;
  130.                     unitEventHandler = Interlocked.CompareExchange(ref CustomEvents.UnitDeselcted, (UnitEventHandler)Delegate.Combine(unitEventHandler2, value), unitEventHandler);
  131.                 }
  132.                 while ((object)unitEventHandler != unitEventHandler2);
  133.             }
  134.             remove
  135.             {
  136.                 UnitEventHandler unitEventHandler = CustomEvents.UnitDeselcted;
  137.                 UnitEventHandler unitEventHandler2;
  138.                 do
  139.                 {
  140.                     unitEventHandler2 = unitEventHandler;
  141.                     unitEventHandler = Interlocked.CompareExchange(ref CustomEvents.UnitDeselcted, (UnitEventHandler)Delegate.Remove(unitEventHandler2, value), unitEventHandler);
  142.                 }
  143.                 while ((object)unitEventHandler != unitEventHandler2);
  144.             }
  145.         }
  146.  
  147.         public static event UnitResourceEventHandler UnitStartCollecting
  148.         {
  149.             add
  150.             {
  151.                 UnitResourceEventHandler unitResourceEventHandler = CustomEvents.UnitStartCollecting;
  152.                 UnitResourceEventHandler unitResourceEventHandler2;
  153.                 do
  154.                 {
  155.                     unitResourceEventHandler2 = unitResourceEventHandler;
  156.                     unitResourceEventHandler = Interlocked.CompareExchange(ref CustomEvents.UnitStartCollecting, (UnitResourceEventHandler)Delegate.Combine(unitResourceEventHandler2, value), unitResourceEventHandler);
  157.                 }
  158.                 while ((object)unitResourceEventHandler != unitResourceEventHandler2);
  159.             }
  160.             remove
  161.             {
  162.                 UnitResourceEventHandler unitResourceEventHandler = CustomEvents.UnitStartCollecting;
  163.                 UnitResourceEventHandler unitResourceEventHandler2;
  164.                 do
  165.                 {
  166.                     unitResourceEventHandler2 = unitResourceEventHandler;
  167.                     unitResourceEventHandler = Interlocked.CompareExchange(ref CustomEvents.UnitStartCollecting, (UnitResourceEventHandler)Delegate.Remove(unitResourceEventHandler2, value), unitResourceEventHandler);
  168.                 }
  169.                 while ((object)unitResourceEventHandler != unitResourceEventHandler2);
  170.             }
  171.         }
  172.  
  173.         public static event UnitResourceEventHandler UnitStopCollecting
  174.         {
  175.             add
  176.             {
  177.                 UnitResourceEventHandler unitResourceEventHandler = CustomEvents.UnitStopCollecting;
  178.                 UnitResourceEventHandler unitResourceEventHandler2;
  179.                 do
  180.                 {
  181.                     unitResourceEventHandler2 = unitResourceEventHandler;
  182.                     unitResourceEventHandler = Interlocked.CompareExchange(ref CustomEvents.UnitStopCollecting, (UnitResourceEventHandler)Delegate.Combine(unitResourceEventHandler2, value), unitResourceEventHandler);
  183.                 }
  184.                 while ((object)unitResourceEventHandler != unitResourceEventHandler2);
  185.             }
  186.             remove
  187.             {
  188.                 UnitResourceEventHandler unitResourceEventHandler = CustomEvents.UnitStopCollecting;
  189.                 UnitResourceEventHandler unitResourceEventHandler2;
  190.                 do
  191.                 {
  192.                     unitResourceEventHandler2 = unitResourceEventHandler;
  193.                     unitResourceEventHandler = Interlocked.CompareExchange(ref CustomEvents.UnitStopCollecting, (UnitResourceEventHandler)Delegate.Remove(unitResourceEventHandler2, value), unitResourceEventHandler);
  194.                 }
  195.                 while ((object)unitResourceEventHandler != unitResourceEventHandler2);
  196.             }
  197.         }
  198.  
  199.         public static event UnitBuildingEventHandler UnitStartBuilding
  200.         {
  201.             add
  202.             {
  203.                 UnitBuildingEventHandler unitBuildingEventHandler = CustomEvents.UnitStartBuilding;
  204.                 UnitBuildingEventHandler unitBuildingEventHandler2;
  205.                 do
  206.                 {
  207.                     unitBuildingEventHandler2 = unitBuildingEventHandler;
  208.                     unitBuildingEventHandler = Interlocked.CompareExchange(ref CustomEvents.UnitStartBuilding, (UnitBuildingEventHandler)Delegate.Combine(unitBuildingEventHandler2, value), unitBuildingEventHandler);
  209.                 }
  210.                 while ((object)unitBuildingEventHandler != unitBuildingEventHandler2);
  211.             }
  212.             remove
  213.             {
  214.                 UnitBuildingEventHandler unitBuildingEventHandler = CustomEvents.UnitStartBuilding;
  215.                 UnitBuildingEventHandler unitBuildingEventHandler2;
  216.                 do
  217.                 {
  218.                     unitBuildingEventHandler2 = unitBuildingEventHandler;
  219.                     unitBuildingEventHandler = Interlocked.CompareExchange(ref CustomEvents.UnitStartBuilding, (UnitBuildingEventHandler)Delegate.Remove(unitBuildingEventHandler2, value), unitBuildingEventHandler);
  220.                 }
  221.                 while ((object)unitBuildingEventHandler != unitBuildingEventHandler2);
  222.             }
  223.         }
  224.  
  225.         public static event UnitBuildingEventHandler UnitStopBuilding
  226.         {
  227.             add
  228.             {
  229.                 UnitBuildingEventHandler unitBuildingEventHandler = CustomEvents.UnitStopBuilding;
  230.                 UnitBuildingEventHandler unitBuildingEventHandler2;
  231.                 do
  232.                 {
  233.                     unitBuildingEventHandler2 = unitBuildingEventHandler;
  234.                     unitBuildingEventHandler = Interlocked.CompareExchange(ref CustomEvents.UnitStopBuilding, (UnitBuildingEventHandler)Delegate.Combine(unitBuildingEventHandler2, value), unitBuildingEventHandler);
  235.                 }
  236.                 while ((object)unitBuildingEventHandler != unitBuildingEventHandler2);
  237.             }
  238.             remove
  239.             {
  240.                 UnitBuildingEventHandler unitBuildingEventHandler = CustomEvents.UnitStopBuilding;
  241.                 UnitBuildingEventHandler unitBuildingEventHandler2;
  242.                 do
  243.                 {
  244.                     unitBuildingEventHandler2 = unitBuildingEventHandler;
  245.                     unitBuildingEventHandler = Interlocked.CompareExchange(ref CustomEvents.UnitStopBuilding, (UnitBuildingEventHandler)Delegate.Remove(unitBuildingEventHandler2, value), unitBuildingEventHandler);
  246.                 }
  247.                 while ((object)unitBuildingEventHandler != unitBuildingEventHandler2);
  248.             }
  249.         }
  250.  
  251.         public static event UnitHealingEventHandler UnitStartHealing
  252.         {
  253.             add
  254.             {
  255.                 UnitHealingEventHandler unitHealingEventHandler = CustomEvents.UnitStartHealing;
  256.                 UnitHealingEventHandler unitHealingEventHandler2;
  257.                 do
  258.                 {
  259.                     unitHealingEventHandler2 = unitHealingEventHandler;
  260.                     unitHealingEventHandler = Interlocked.CompareExchange(ref CustomEvents.UnitStartHealing, (UnitHealingEventHandler)Delegate.Combine(unitHealingEventHandler2, value), unitHealingEventHandler);
  261.                 }
  262.                 while ((object)unitHealingEventHandler != unitHealingEventHandler2);
  263.             }
  264.             remove
  265.             {
  266.                 UnitHealingEventHandler unitHealingEventHandler = CustomEvents.UnitStartHealing;
  267.                 UnitHealingEventHandler unitHealingEventHandler2;
  268.                 do
  269.                 {
  270.                     unitHealingEventHandler2 = unitHealingEventHandler;
  271.                     unitHealingEventHandler = Interlocked.CompareExchange(ref CustomEvents.UnitStartHealing, (UnitHealingEventHandler)Delegate.Remove(unitHealingEventHandler2, value), unitHealingEventHandler);
  272.                 }
  273.                 while ((object)unitHealingEventHandler != unitHealingEventHandler2);
  274.             }
  275.         }
  276.  
  277.         public static event UnitHealingEventHandler UnitStopHealing
  278.         {
  279.             add
  280.             {
  281.                 UnitHealingEventHandler unitHealingEventHandler = CustomEvents.UnitStopHealing;
  282.                 UnitHealingEventHandler unitHealingEventHandler2;
  283.                 do
  284.                 {
  285.                     unitHealingEventHandler2 = unitHealingEventHandler;
  286.                     unitHealingEventHandler = Interlocked.CompareExchange(ref CustomEvents.UnitStopHealing, (UnitHealingEventHandler)Delegate.Combine(unitHealingEventHandler2, value), unitHealingEventHandler);
  287.                 }
  288.                 while ((object)unitHealingEventHandler != unitHealingEventHandler2);
  289.             }
  290.             remove
  291.             {
  292.                 UnitHealingEventHandler unitHealingEventHandler = CustomEvents.UnitStopHealing;
  293.                 UnitHealingEventHandler unitHealingEventHandler2;
  294.                 do
  295.                 {
  296.                     unitHealingEventHandler2 = unitHealingEventHandler;
  297.                     unitHealingEventHandler = Interlocked.CompareExchange(ref CustomEvents.UnitStopHealing, (UnitHealingEventHandler)Delegate.Remove(unitHealingEventHandler2, value), unitHealingEventHandler);
  298.                 }
  299.                 while ((object)unitHealingEventHandler != unitHealingEventHandler2);
  300.             }
  301.         }
  302.  
  303.         public static event UnitConvertingEventHandler UnitStartConverting
  304.         {
  305.             add
  306.             {
  307.                 UnitConvertingEventHandler unitConvertingEventHandler = CustomEvents.UnitStartConverting;
  308.                 UnitConvertingEventHandler unitConvertingEventHandler2;
  309.                 do
  310.                 {
  311.                     unitConvertingEventHandler2 = unitConvertingEventHandler;
  312.                     unitConvertingEventHandler = Interlocked.CompareExchange(ref CustomEvents.UnitStartConverting, (UnitConvertingEventHandler)Delegate.Combine(unitConvertingEventHandler2, value), unitConvertingEventHandler);
  313.                 }
  314.                 while ((object)unitConvertingEventHandler != unitConvertingEventHandler2);
  315.             }
  316.             remove
  317.             {
  318.                 UnitConvertingEventHandler unitConvertingEventHandler = CustomEvents.UnitStartConverting;
  319.                 UnitConvertingEventHandler unitConvertingEventHandler2;
  320.                 do
  321.                 {
  322.                     unitConvertingEventHandler2 = unitConvertingEventHandler;
  323.                     unitConvertingEventHandler = Interlocked.CompareExchange(ref CustomEvents.UnitStartConverting, (UnitConvertingEventHandler)Delegate.Remove(unitConvertingEventHandler2, value), unitConvertingEventHandler);
  324.                 }
  325.                 while ((object)unitConvertingEventHandler != unitConvertingEventHandler2);
  326.             }
  327.         }
  328.  
  329.         public static event UnitConvertingEventHandler UnitStopConverting
  330.         {
  331.             add
  332.             {
  333.                 UnitConvertingEventHandler unitConvertingEventHandler = CustomEvents.UnitStopConverting;
  334.                 UnitConvertingEventHandler unitConvertingEventHandler2;
  335.                 do
  336.                 {
  337.                     unitConvertingEventHandler2 = unitConvertingEventHandler;
  338.                     unitConvertingEventHandler = Interlocked.CompareExchange(ref CustomEvents.UnitStopConverting, (UnitConvertingEventHandler)Delegate.Combine(unitConvertingEventHandler2, value), unitConvertingEventHandler);
  339.                 }
  340.                 while ((object)unitConvertingEventHandler != unitConvertingEventHandler2);
  341.             }
  342.             remove
  343.             {
  344.                 UnitConvertingEventHandler unitConvertingEventHandler = CustomEvents.UnitStopConverting;
  345.                 UnitConvertingEventHandler unitConvertingEventHandler2;
  346.                 do
  347.                 {
  348.                     unitConvertingEventHandler2 = unitConvertingEventHandler;
  349.                     unitConvertingEventHandler = Interlocked.CompareExchange(ref CustomEvents.UnitStopConverting, (UnitConvertingEventHandler)Delegate.Remove(unitConvertingEventHandler2, value), unitConvertingEventHandler);
  350.                 }
  351.                 while ((object)unitConvertingEventHandler != unitConvertingEventHandler2);
  352.             }
  353.         }
  354.  
  355.         public static event UnitConvertingEventHandler UnitConverted
  356.         {
  357.             add
  358.             {
  359.                 UnitConvertingEventHandler unitConvertingEventHandler = CustomEvents.UnitConverted;
  360.                 UnitConvertingEventHandler unitConvertingEventHandler2;
  361.                 do
  362.                 {
  363.                     unitConvertingEventHandler2 = unitConvertingEventHandler;
  364.                     unitConvertingEventHandler = Interlocked.CompareExchange(ref CustomEvents.UnitConverted, (UnitConvertingEventHandler)Delegate.Combine(unitConvertingEventHandler2, value), unitConvertingEventHandler);
  365.                 }
  366.                 while ((object)unitConvertingEventHandler != unitConvertingEventHandler2);
  367.             }
  368.             remove
  369.             {
  370.                 UnitConvertingEventHandler unitConvertingEventHandler = CustomEvents.UnitConverted;
  371.                 UnitConvertingEventHandler unitConvertingEventHandler2;
  372.                 do
  373.                 {
  374.                     unitConvertingEventHandler2 = unitConvertingEventHandler;
  375.                     unitConvertingEventHandler = Interlocked.CompareExchange(ref CustomEvents.UnitConverted, (UnitConvertingEventHandler)Delegate.Remove(unitConvertingEventHandler2, value), unitConvertingEventHandler);
  376.                 }
  377.                 while ((object)unitConvertingEventHandler != unitConvertingEventHandler2);
  378.             }
  379.         }
  380.  
  381.         public static event UnitSwitchingAttackEventHandler UnitSwitchAttack
  382.         {
  383.             add
  384.             {
  385.                 UnitSwitchingAttackEventHandler unitSwitchingAttackEventHandler = CustomEvents.UnitSwitchAttack;
  386.                 UnitSwitchingAttackEventHandler unitSwitchingAttackEventHandler2;
  387.                 do
  388.                 {
  389.                     unitSwitchingAttackEventHandler2 = unitSwitchingAttackEventHandler;
  390.                     unitSwitchingAttackEventHandler = Interlocked.CompareExchange(ref CustomEvents.UnitSwitchAttack, (UnitSwitchingAttackEventHandler)Delegate.Combine(unitSwitchingAttackEventHandler2, value), unitSwitchingAttackEventHandler);
  391.                 }
  392.                 while ((object)unitSwitchingAttackEventHandler != unitSwitchingAttackEventHandler2);
  393.             }
  394.             remove
  395.             {
  396.                 UnitSwitchingAttackEventHandler unitSwitchingAttackEventHandler = CustomEvents.UnitSwitchAttack;
  397.                 UnitSwitchingAttackEventHandler unitSwitchingAttackEventHandler2;
  398.                 do
  399.                 {
  400.                     unitSwitchingAttackEventHandler2 = unitSwitchingAttackEventHandler;
  401.                     unitSwitchingAttackEventHandler = Interlocked.CompareExchange(ref CustomEvents.UnitSwitchAttack, (UnitSwitchingAttackEventHandler)Delegate.Remove(unitSwitchingAttackEventHandler2, value), unitSwitchingAttackEventHandler);
  402.                 }
  403.                 while ((object)unitSwitchingAttackEventHandler != unitSwitchingAttackEventHandler2);
  404.             }
  405.         }
  406.  
  407.         public static event UnitAttackEventHandler AttackTargetLocked
  408.         {
  409.             add
  410.             {
  411.                 UnitAttackEventHandler unitAttackEventHandler = CustomEvents.AttackTargetLocked;
  412.                 UnitAttackEventHandler unitAttackEventHandler2;
  413.                 do
  414.                 {
  415.                     unitAttackEventHandler2 = unitAttackEventHandler;
  416.                     unitAttackEventHandler = Interlocked.CompareExchange(ref CustomEvents.AttackTargetLocked, (UnitAttackEventHandler)Delegate.Combine(unitAttackEventHandler2, value), unitAttackEventHandler);
  417.                 }
  418.                 while ((object)unitAttackEventHandler != unitAttackEventHandler2);
  419.             }
  420.             remove
  421.             {
  422.                 UnitAttackEventHandler unitAttackEventHandler = CustomEvents.AttackTargetLocked;
  423.                 UnitAttackEventHandler unitAttackEventHandler2;
  424.                 do
  425.                 {
  426.                     unitAttackEventHandler2 = unitAttackEventHandler;
  427.                     unitAttackEventHandler = Interlocked.CompareExchange(ref CustomEvents.AttackTargetLocked, (UnitAttackEventHandler)Delegate.Remove(unitAttackEventHandler2, value), unitAttackEventHandler);
  428.                 }
  429.                 while ((object)unitAttackEventHandler != unitAttackEventHandler2);
  430.             }
  431.         }
  432.  
  433.         public static event UnitAttackEventHandler AttackPerformed
  434.         {
  435.             add
  436.             {
  437.                 UnitAttackEventHandler unitAttackEventHandler = CustomEvents.AttackPerformed;
  438.                 UnitAttackEventHandler unitAttackEventHandler2;
  439.                 do
  440.                 {
  441.                     unitAttackEventHandler2 = unitAttackEventHandler;
  442.                     unitAttackEventHandler = Interlocked.CompareExchange(ref CustomEvents.AttackPerformed, (UnitAttackEventHandler)Delegate.Combine(unitAttackEventHandler2, value), unitAttackEventHandler);
  443.                 }
  444.                 while ((object)unitAttackEventHandler != unitAttackEventHandler2);
  445.             }
  446.             remove
  447.             {
  448.                 UnitAttackEventHandler unitAttackEventHandler = CustomEvents.AttackPerformed;
  449.                 UnitAttackEventHandler unitAttackEventHandler2;
  450.                 do
  451.                 {
  452.                     unitAttackEventHandler2 = unitAttackEventHandler;
  453.                     unitAttackEventHandler = Interlocked.CompareExchange(ref CustomEvents.AttackPerformed, (UnitAttackEventHandler)Delegate.Remove(unitAttackEventHandler2, value), unitAttackEventHandler);
  454.                 }
  455.                 while ((object)unitAttackEventHandler != unitAttackEventHandler2);
  456.             }
  457.         }
  458.  
  459.         public static event BuildingEventHandler BuildingPlaced
  460.         {
  461.             add
  462.             {
  463.                 BuildingEventHandler buildingEventHandler = CustomEvents.BuildingPlaced;
  464.                 BuildingEventHandler buildingEventHandler2;
  465.                 do
  466.                 {
  467.                     buildingEventHandler2 = buildingEventHandler;
  468.                     buildingEventHandler = Interlocked.CompareExchange(ref CustomEvents.BuildingPlaced, (BuildingEventHandler)Delegate.Combine(buildingEventHandler2, value), buildingEventHandler);
  469.                 }
  470.                 while ((object)buildingEventHandler != buildingEventHandler2);
  471.             }
  472.             remove
  473.             {
  474.                 BuildingEventHandler buildingEventHandler = CustomEvents.BuildingPlaced;
  475.                 BuildingEventHandler buildingEventHandler2;
  476.                 do
  477.                 {
  478.                     buildingEventHandler2 = buildingEventHandler;
  479.                     buildingEventHandler = Interlocked.CompareExchange(ref CustomEvents.BuildingPlaced, (BuildingEventHandler)Delegate.Remove(buildingEventHandler2, value), buildingEventHandler);
  480.                 }
  481.                 while ((object)buildingEventHandler != buildingEventHandler2);
  482.             }
  483.         }
  484.  
  485.         public static event BuildingEventHandler BuildingBuilt
  486.         {
  487.             add
  488.             {
  489.                 BuildingEventHandler buildingEventHandler = CustomEvents.BuildingBuilt;
  490.                 BuildingEventHandler buildingEventHandler2;
  491.                 do
  492.                 {
  493.                     buildingEventHandler2 = buildingEventHandler;
  494.                     buildingEventHandler = Interlocked.CompareExchange(ref CustomEvents.BuildingBuilt, (BuildingEventHandler)Delegate.Combine(buildingEventHandler2, value), buildingEventHandler);
  495.                 }
  496.                 while ((object)buildingEventHandler != buildingEventHandler2);
  497.             }
  498.             remove
  499.             {
  500.                 BuildingEventHandler buildingEventHandler = CustomEvents.BuildingBuilt;
  501.                 BuildingEventHandler buildingEventHandler2;
  502.                 do
  503.                 {
  504.                     buildingEventHandler2 = buildingEventHandler;
  505.                     buildingEventHandler = Interlocked.CompareExchange(ref CustomEvents.BuildingBuilt, (BuildingEventHandler)Delegate.Remove(buildingEventHandler2, value), buildingEventHandler);
  506.                 }
  507.                 while ((object)buildingEventHandler != buildingEventHandler2);
  508.             }
  509.         }
  510.  
  511.         public static event BuildingEventHandler BuildingDestroyed
  512.         {
  513.             add
  514.             {
  515.                 BuildingEventHandler buildingEventHandler = CustomEvents.BuildingDestroyed;
  516.                 BuildingEventHandler buildingEventHandler2;
  517.                 do
  518.                 {
  519.                     buildingEventHandler2 = buildingEventHandler;
  520.                     buildingEventHandler = Interlocked.CompareExchange(ref CustomEvents.BuildingDestroyed, (BuildingEventHandler)Delegate.Combine(buildingEventHandler2, value), buildingEventHandler);
  521.                 }
  522.                 while ((object)buildingEventHandler != buildingEventHandler2);
  523.             }
  524.             remove
  525.             {
  526.                 BuildingEventHandler buildingEventHandler = CustomEvents.BuildingDestroyed;
  527.                 BuildingEventHandler buildingEventHandler2;
  528.                 do
  529.                 {
  530.                     buildingEventHandler2 = buildingEventHandler;
  531.                     buildingEventHandler = Interlocked.CompareExchange(ref CustomEvents.BuildingDestroyed, (BuildingEventHandler)Delegate.Remove(buildingEventHandler2, value), buildingEventHandler);
  532.                 }
  533.                 while ((object)buildingEventHandler != buildingEventHandler2);
  534.             }
  535.         }
  536.  
  537.         public static event BuildingEventHandler BuildingSelected
  538.         {
  539.             add
  540.             {
  541.                 BuildingEventHandler buildingEventHandler = CustomEvents.BuildingSelected;
  542.                 BuildingEventHandler buildingEventHandler2;
  543.                 do
  544.                 {
  545.                     buildingEventHandler2 = buildingEventHandler;
  546.                     buildingEventHandler = Interlocked.CompareExchange(ref CustomEvents.BuildingSelected, (BuildingEventHandler)Delegate.Combine(buildingEventHandler2, value), buildingEventHandler);
  547.                 }
  548.                 while ((object)buildingEventHandler != buildingEventHandler2);
  549.             }
  550.             remove
  551.             {
  552.                 BuildingEventHandler buildingEventHandler = CustomEvents.BuildingSelected;
  553.                 BuildingEventHandler buildingEventHandler2;
  554.                 do
  555.                 {
  556.                     buildingEventHandler2 = buildingEventHandler;
  557.                     buildingEventHandler = Interlocked.CompareExchange(ref CustomEvents.BuildingSelected, (BuildingEventHandler)Delegate.Remove(buildingEventHandler2, value), buildingEventHandler);
  558.                 }
  559.                 while ((object)buildingEventHandler != buildingEventHandler2);
  560.             }
  561.         }
  562.  
  563.         public static event BuildingEventHandler BuildingDeselected
  564.         {
  565.             add
  566.             {
  567.                 BuildingEventHandler buildingEventHandler = CustomEvents.BuildingDeselected;
  568.                 BuildingEventHandler buildingEventHandler2;
  569.                 do
  570.                 {
  571.                     buildingEventHandler2 = buildingEventHandler;
  572.                     buildingEventHandler = Interlocked.CompareExchange(ref CustomEvents.BuildingDeselected, (BuildingEventHandler)Delegate.Combine(buildingEventHandler2, value), buildingEventHandler);
  573.                 }
  574.                 while ((object)buildingEventHandler != buildingEventHandler2);
  575.             }
  576.             remove
  577.             {
  578.                 BuildingEventHandler buildingEventHandler = CustomEvents.BuildingDeselected;
  579.                 BuildingEventHandler buildingEventHandler2;
  580.                 do
  581.                 {
  582.                     buildingEventHandler2 = buildingEventHandler;
  583.                     buildingEventHandler = Interlocked.CompareExchange(ref CustomEvents.BuildingDeselected, (BuildingEventHandler)Delegate.Remove(buildingEventHandler2, value), buildingEventHandler);
  584.                 }
  585.                 while ((object)buildingEventHandler != buildingEventHandler2);
  586.             }
  587.         }
  588.  
  589.         public static event BuildingUpgradeEventHandler BuildingStartUpgrade
  590.         {
  591.             add
  592.             {
  593.                 BuildingUpgradeEventHandler buildingUpgradeEventHandler = CustomEvents.BuildingStartUpgrade;
  594.                 BuildingUpgradeEventHandler buildingUpgradeEventHandler2;
  595.                 do
  596.                 {
  597.                     buildingUpgradeEventHandler2 = buildingUpgradeEventHandler;
  598.                     buildingUpgradeEventHandler = Interlocked.CompareExchange(ref CustomEvents.BuildingStartUpgrade, (BuildingUpgradeEventHandler)Delegate.Combine(buildingUpgradeEventHandler2, value), buildingUpgradeEventHandler);
  599.                 }
  600.                 while ((object)buildingUpgradeEventHandler != buildingUpgradeEventHandler2);
  601.             }
  602.             remove
  603.             {
  604.                 BuildingUpgradeEventHandler buildingUpgradeEventHandler = CustomEvents.BuildingStartUpgrade;
  605.                 BuildingUpgradeEventHandler buildingUpgradeEventHandler2;
  606.                 do
  607.                 {
  608.                     buildingUpgradeEventHandler2 = buildingUpgradeEventHandler;
  609.                     buildingUpgradeEventHandler = Interlocked.CompareExchange(ref CustomEvents.BuildingStartUpgrade, (BuildingUpgradeEventHandler)Delegate.Remove(buildingUpgradeEventHandler2, value), buildingUpgradeEventHandler);
  610.                 }
  611.                 while ((object)buildingUpgradeEventHandler != buildingUpgradeEventHandler2);
  612.             }
  613.         }
  614.  
  615.         public static event BuildingUpgradeEventHandler BuildingCompleteUpgrade
  616.         {
  617.             add
  618.             {
  619.                 BuildingUpgradeEventHandler buildingUpgradeEventHandler = CustomEvents.BuildingCompleteUpgrade;
  620.                 BuildingUpgradeEventHandler buildingUpgradeEventHandler2;
  621.                 do
  622.                 {
  623.                     buildingUpgradeEventHandler2 = buildingUpgradeEventHandler;
  624.                     buildingUpgradeEventHandler = Interlocked.CompareExchange(ref CustomEvents.BuildingCompleteUpgrade, (BuildingUpgradeEventHandler)Delegate.Combine(buildingUpgradeEventHandler2, value), buildingUpgradeEventHandler);
  625.                 }
  626.                 while ((object)buildingUpgradeEventHandler != buildingUpgradeEventHandler2);
  627.             }
  628.             remove
  629.             {
  630.                 BuildingUpgradeEventHandler buildingUpgradeEventHandler = CustomEvents.BuildingCompleteUpgrade;
  631.                 BuildingUpgradeEventHandler buildingUpgradeEventHandler2;
  632.                 do
  633.                 {
  634.                     buildingUpgradeEventHandler2 = buildingUpgradeEventHandler;
  635.                     buildingUpgradeEventHandler = Interlocked.CompareExchange(ref CustomEvents.BuildingCompleteUpgrade, (BuildingUpgradeEventHandler)Delegate.Remove(buildingUpgradeEventHandler2, value), buildingUpgradeEventHandler);
  636.                 }
  637.                 while ((object)buildingUpgradeEventHandler != buildingUpgradeEventHandler2);
  638.             }
  639.         }
  640.  
  641.         public static event TaskEventHandler TaskLaunched
  642.         {
  643.             add
  644.             {
  645.                 TaskEventHandler taskEventHandler = CustomEvents.TaskLaunched;
  646.                 TaskEventHandler taskEventHandler2;
  647.                 do
  648.                 {
  649.                     taskEventHandler2 = taskEventHandler;
  650.                     taskEventHandler = Interlocked.CompareExchange(ref CustomEvents.TaskLaunched, (TaskEventHandler)Delegate.Combine(taskEventHandler2, value), taskEventHandler);
  651.                 }
  652.                 while ((object)taskEventHandler != taskEventHandler2);
  653.             }
  654.             remove
  655.             {
  656.                 TaskEventHandler taskEventHandler = CustomEvents.TaskLaunched;
  657.                 TaskEventHandler taskEventHandler2;
  658.                 do
  659.                 {
  660.                     taskEventHandler2 = taskEventHandler;
  661.                     taskEventHandler = Interlocked.CompareExchange(ref CustomEvents.TaskLaunched, (TaskEventHandler)Delegate.Remove(taskEventHandler2, value), taskEventHandler);
  662.                 }
  663.                 while ((object)taskEventHandler != taskEventHandler2);
  664.             }
  665.         }
  666.  
  667.         public static event TaskEventHandler TaskCanceled
  668.         {
  669.             add
  670.             {
  671.                 TaskEventHandler taskEventHandler = CustomEvents.TaskCanceled;
  672.                 TaskEventHandler taskEventHandler2;
  673.                 do
  674.                 {
  675.                     taskEventHandler2 = taskEventHandler;
  676.                     taskEventHandler = Interlocked.CompareExchange(ref CustomEvents.TaskCanceled, (TaskEventHandler)Delegate.Combine(taskEventHandler2, value), taskEventHandler);
  677.                 }
  678.                 while ((object)taskEventHandler != taskEventHandler2);
  679.             }
  680.             remove
  681.             {
  682.                 TaskEventHandler taskEventHandler = CustomEvents.TaskCanceled;
  683.                 TaskEventHandler taskEventHandler2;
  684.                 do
  685.                 {
  686.                     taskEventHandler2 = taskEventHandler;
  687.                     taskEventHandler = Interlocked.CompareExchange(ref CustomEvents.TaskCanceled, (TaskEventHandler)Delegate.Remove(taskEventHandler2, value), taskEventHandler);
  688.                 }
  689.                 while ((object)taskEventHandler != taskEventHandler2);
  690.             }
  691.         }
  692.  
  693.         public static event TaskEventHandler TaskCompleted
  694.         {
  695.             add
  696.             {
  697.                 TaskEventHandler taskEventHandler = CustomEvents.TaskCompleted;
  698.                 TaskEventHandler taskEventHandler2;
  699.                 do
  700.                 {
  701.                     taskEventHandler2 = taskEventHandler;
  702.                     taskEventHandler = Interlocked.CompareExchange(ref CustomEvents.TaskCompleted, (TaskEventHandler)Delegate.Combine(taskEventHandler2, value), taskEventHandler);
  703.                 }
  704.                 while ((object)taskEventHandler != taskEventHandler2);
  705.             }
  706.             remove
  707.             {
  708.                 TaskEventHandler taskEventHandler = CustomEvents.TaskCompleted;
  709.                 TaskEventHandler taskEventHandler2;
  710.                 do
  711.                 {
  712.                     taskEventHandler2 = taskEventHandler;
  713.                     taskEventHandler = Interlocked.CompareExchange(ref CustomEvents.TaskCompleted, (TaskEventHandler)Delegate.Remove(taskEventHandler2, value), taskEventHandler);
  714.                 }
  715.                 while ((object)taskEventHandler != taskEventHandler2);
  716.             }
  717.         }
  718.  
  719.         public static event ResourceEventHandler ResourceEmpty
  720.         {
  721.             add
  722.             {
  723.                 ResourceEventHandler resourceEventHandler = CustomEvents.ResourceEmpty;
  724.                 ResourceEventHandler resourceEventHandler2;
  725.                 do
  726.                 {
  727.                     resourceEventHandler2 = resourceEventHandler;
  728.                     resourceEventHandler = Interlocked.CompareExchange(ref CustomEvents.ResourceEmpty, (ResourceEventHandler)Delegate.Combine(resourceEventHandler2, value), resourceEventHandler);
  729.                 }
  730.                 while ((object)resourceEventHandler != resourceEventHandler2);
  731.             }
  732.             remove
  733.             {
  734.                 ResourceEventHandler resourceEventHandler = CustomEvents.ResourceEmpty;
  735.                 ResourceEventHandler resourceEventHandler2;
  736.                 do
  737.                 {
  738.                     resourceEventHandler2 = resourceEventHandler;
  739.                     resourceEventHandler = Interlocked.CompareExchange(ref CustomEvents.ResourceEmpty, (ResourceEventHandler)Delegate.Remove(resourceEventHandler2, value), resourceEventHandler);
  740.                 }
  741.                 while ((object)resourceEventHandler != resourceEventHandler2);
  742.             }
  743.         }
  744.  
  745.         public static event ResourceEventHandler ResourceSelected
  746.         {
  747.             add
  748.             {
  749.                 ResourceEventHandler resourceEventHandler = CustomEvents.ResourceSelected;
  750.                 ResourceEventHandler resourceEventHandler2;
  751.                 do
  752.                 {
  753.                     resourceEventHandler2 = resourceEventHandler;
  754.                     resourceEventHandler = Interlocked.CompareExchange(ref CustomEvents.ResourceSelected, (ResourceEventHandler)Delegate.Combine(resourceEventHandler2, value), resourceEventHandler);
  755.                 }
  756.                 while ((object)resourceEventHandler != resourceEventHandler2);
  757.             }
  758.             remove
  759.             {
  760.                 ResourceEventHandler resourceEventHandler = CustomEvents.ResourceSelected;
  761.                 ResourceEventHandler resourceEventHandler2;
  762.                 do
  763.                 {
  764.                     resourceEventHandler2 = resourceEventHandler;
  765.                     resourceEventHandler = Interlocked.CompareExchange(ref CustomEvents.ResourceSelected, (ResourceEventHandler)Delegate.Remove(resourceEventHandler2, value), resourceEventHandler);
  766.                 }
  767.                 while ((object)resourceEventHandler != resourceEventHandler2);
  768.             }
  769.         }
  770.  
  771.         public static event ResourceEventHandler ResourceDeselected
  772.         {
  773.             add
  774.             {
  775.                 ResourceEventHandler resourceEventHandler = CustomEvents.ResourceDeselected;
  776.                 ResourceEventHandler resourceEventHandler2;
  777.                 do
  778.                 {
  779.                     resourceEventHandler2 = resourceEventHandler;
  780.                     resourceEventHandler = Interlocked.CompareExchange(ref CustomEvents.ResourceDeselected, (ResourceEventHandler)Delegate.Combine(resourceEventHandler2, value), resourceEventHandler);
  781.                 }
  782.                 while ((object)resourceEventHandler != resourceEventHandler2);
  783.             }
  784.             remove
  785.             {
  786.                 ResourceEventHandler resourceEventHandler = CustomEvents.ResourceDeselected;
  787.                 ResourceEventHandler resourceEventHandler2;
  788.                 do
  789.                 {
  790.                     resourceEventHandler2 = resourceEventHandler;
  791.                     resourceEventHandler = Interlocked.CompareExchange(ref CustomEvents.ResourceDeselected, (ResourceEventHandler)Delegate.Remove(resourceEventHandler2, value), resourceEventHandler);
  792.                 }
  793.                 while ((object)resourceEventHandler != resourceEventHandler2);
  794.             }
  795.         }
  796.  
  797.         public static event APCEventHandler APCAddUnit
  798.         {
  799.             add
  800.             {
  801.                 APCEventHandler aPCEventHandler = CustomEvents.APCAddUnit;
  802.                 APCEventHandler aPCEventHandler2;
  803.                 do
  804.                 {
  805.                     aPCEventHandler2 = aPCEventHandler;
  806.                     aPCEventHandler = Interlocked.CompareExchange(ref CustomEvents.APCAddUnit, (APCEventHandler)Delegate.Combine(aPCEventHandler2, value), aPCEventHandler);
  807.                 }
  808.                 while ((object)aPCEventHandler != aPCEventHandler2);
  809.             }
  810.             remove
  811.             {
  812.                 APCEventHandler aPCEventHandler = CustomEvents.APCAddUnit;
  813.                 APCEventHandler aPCEventHandler2;
  814.                 do
  815.                 {
  816.                     aPCEventHandler2 = aPCEventHandler;
  817.                     aPCEventHandler = Interlocked.CompareExchange(ref CustomEvents.APCAddUnit, (APCEventHandler)Delegate.Remove(aPCEventHandler2, value), aPCEventHandler);
  818.                 }
  819.                 while ((object)aPCEventHandler != aPCEventHandler2);
  820.             }
  821.         }
  822.  
  823.         public static event APCEventHandler APCRemoveUnit
  824.         {
  825.             add
  826.             {
  827.                 APCEventHandler aPCEventHandler = CustomEvents.APCRemoveUnit;
  828.                 APCEventHandler aPCEventHandler2;
  829.                 do
  830.                 {
  831.                     aPCEventHandler2 = aPCEventHandler;
  832.                     aPCEventHandler = Interlocked.CompareExchange(ref CustomEvents.APCRemoveUnit, (APCEventHandler)Delegate.Combine(aPCEventHandler2, value), aPCEventHandler);
  833.                 }
  834.                 while ((object)aPCEventHandler != aPCEventHandler2);
  835.             }
  836.             remove
  837.             {
  838.                 APCEventHandler aPCEventHandler = CustomEvents.APCRemoveUnit;
  839.                 APCEventHandler aPCEventHandler2;
  840.                 do
  841.                 {
  842.                     aPCEventHandler2 = aPCEventHandler;
  843.                     aPCEventHandler = Interlocked.CompareExchange(ref CustomEvents.APCRemoveUnit, (APCEventHandler)Delegate.Remove(aPCEventHandler2, value), aPCEventHandler);
  844.                 }
  845.                 while ((object)aPCEventHandler != aPCEventHandler2);
  846.             }
  847.         }
  848.  
  849.         public static event APCEventHandler APCCallUnits
  850.         {
  851.             add
  852.             {
  853.                 APCEventHandler aPCEventHandler = CustomEvents.APCCallUnits;
  854.                 APCEventHandler aPCEventHandler2;
  855.                 do
  856.                 {
  857.                     aPCEventHandler2 = aPCEventHandler;
  858.                     aPCEventHandler = Interlocked.CompareExchange(ref CustomEvents.APCCallUnits, (APCEventHandler)Delegate.Combine(aPCEventHandler2, value), aPCEventHandler);
  859.                 }
  860.                 while ((object)aPCEventHandler != aPCEventHandler2);
  861.             }
  862.             remove
  863.             {
  864.                 APCEventHandler aPCEventHandler = CustomEvents.APCCallUnits;
  865.                 APCEventHandler aPCEventHandler2;
  866.                 do
  867.                 {
  868.                     aPCEventHandler2 = aPCEventHandler;
  869.                     aPCEventHandler = Interlocked.CompareExchange(ref CustomEvents.APCCallUnits, (APCEventHandler)Delegate.Remove(aPCEventHandler2, value), aPCEventHandler);
  870.                 }
  871.                 while ((object)aPCEventHandler != aPCEventHandler2);
  872.             }
  873.         }
  874.  
  875.         public static event PortalEventHandler UnitTeleport
  876.         {
  877.             add
  878.             {
  879.                 PortalEventHandler portalEventHandler = CustomEvents.UnitTeleport;
  880.                 PortalEventHandler portalEventHandler2;
  881.                 do
  882.                 {
  883.                     portalEventHandler2 = portalEventHandler;
  884.                     portalEventHandler = Interlocked.CompareExchange(ref CustomEvents.UnitTeleport, (PortalEventHandler)Delegate.Combine(portalEventHandler2, value), portalEventHandler);
  885.                 }
  886.                 while ((object)portalEventHandler != portalEventHandler2);
  887.             }
  888.             remove
  889.             {
  890.                 PortalEventHandler portalEventHandler = CustomEvents.UnitTeleport;
  891.                 PortalEventHandler portalEventHandler2;
  892.                 do
  893.                 {
  894.                     portalEventHandler2 = portalEventHandler;
  895.                     portalEventHandler = Interlocked.CompareExchange(ref CustomEvents.UnitTeleport, (PortalEventHandler)Delegate.Remove(portalEventHandler2, value), portalEventHandler);
  896.                 }
  897.                 while ((object)portalEventHandler != portalEventHandler2);
  898.             }
  899.         }
  900.  
  901.         public static event PortalEventHandler PortalDoubleClick
  902.         {
  903.             add
  904.             {
  905.                 PortalEventHandler portalEventHandler = CustomEvents.PortalDoubleClick;
  906.                 PortalEventHandler portalEventHandler2;
  907.                 do
  908.                 {
  909.                     portalEventHandler2 = portalEventHandler;
  910.                     portalEventHandler = Interlocked.CompareExchange(ref CustomEvents.PortalDoubleClick, (PortalEventHandler)Delegate.Combine(portalEventHandler2, value), portalEventHandler);
  911.                 }
  912.                 while ((object)portalEventHandler != portalEventHandler2);
  913.             }
  914.             remove
  915.             {
  916.                 PortalEventHandler portalEventHandler = CustomEvents.PortalDoubleClick;
  917.                 PortalEventHandler portalEventHandler2;
  918.                 do
  919.                 {
  920.                     portalEventHandler2 = portalEventHandler;
  921.                     portalEventHandler = Interlocked.CompareExchange(ref CustomEvents.PortalDoubleClick, (PortalEventHandler)Delegate.Remove(portalEventHandler2, value), portalEventHandler);
  922.                 }
  923.                 while ((object)portalEventHandler != portalEventHandler2);
  924.             }
  925.         }
  926.  
  927.         public static event GameEventHandler FactionEliminated
  928.         {
  929.             add
  930.             {
  931.                 GameEventHandler gameEventHandler = CustomEvents.FactionEliminated;
  932.                 GameEventHandler gameEventHandler2;
  933.                 do
  934.                 {
  935.                     gameEventHandler2 = gameEventHandler;
  936.                     gameEventHandler = Interlocked.CompareExchange(ref CustomEvents.FactionEliminated, (GameEventHandler)Delegate.Combine(gameEventHandler2, value), gameEventHandler);
  937.                 }
  938.                 while ((object)gameEventHandler != gameEventHandler2);
  939.             }
  940.             remove
  941.             {
  942.                 GameEventHandler gameEventHandler = CustomEvents.FactionEliminated;
  943.                 GameEventHandler gameEventHandler2;
  944.                 do
  945.                 {
  946.                     gameEventHandler2 = gameEventHandler;
  947.                     gameEventHandler = Interlocked.CompareExchange(ref CustomEvents.FactionEliminated, (GameEventHandler)Delegate.Remove(gameEventHandler2, value), gameEventHandler);
  948.                 }
  949.                 while ((object)gameEventHandler != gameEventHandler2);
  950.             }
  951.         }
  952.  
  953.         public static event GameEventHandler FactionWin
  954.         {
  955.             add
  956.             {
  957.                 GameEventHandler gameEventHandler = CustomEvents.FactionWin;
  958.                 GameEventHandler gameEventHandler2;
  959.                 do
  960.                 {
  961.                     gameEventHandler2 = gameEventHandler;
  962.                     gameEventHandler = Interlocked.CompareExchange(ref CustomEvents.FactionWin, (GameEventHandler)Delegate.Combine(gameEventHandler2, value), gameEventHandler);
  963.                 }
  964.                 while ((object)gameEventHandler != gameEventHandler2);
  965.             }
  966.             remove
  967.             {
  968.                 GameEventHandler gameEventHandler = CustomEvents.FactionWin;
  969.                 GameEventHandler gameEventHandler2;
  970.                 do
  971.                 {
  972.                     gameEventHandler2 = gameEventHandler;
  973.                     gameEventHandler = Interlocked.CompareExchange(ref CustomEvents.FactionWin, (GameEventHandler)Delegate.Remove(gameEventHandler2, value), gameEventHandler);
  974.                 }
  975.                 while ((object)gameEventHandler != gameEventHandler2);
  976.             }
  977.         }
  978.  
  979.         public static event InvisibilityEventHandler UnitGoInvisible
  980.         {
  981.             add
  982.             {
  983.                 InvisibilityEventHandler invisibilityEventHandler = CustomEvents.UnitGoInvisible;
  984.                 InvisibilityEventHandler invisibilityEventHandler2;
  985.                 do
  986.                 {
  987.                     invisibilityEventHandler2 = invisibilityEventHandler;
  988.                     invisibilityEventHandler = Interlocked.CompareExchange(ref CustomEvents.UnitGoInvisible, (InvisibilityEventHandler)Delegate.Combine(invisibilityEventHandler2, value), invisibilityEventHandler);
  989.                 }
  990.                 while ((object)invisibilityEventHandler != invisibilityEventHandler2);
  991.             }
  992.             remove
  993.             {
  994.                 InvisibilityEventHandler invisibilityEventHandler = CustomEvents.UnitGoInvisible;
  995.                 InvisibilityEventHandler invisibilityEventHandler2;
  996.                 do
  997.                 {
  998.                     invisibilityEventHandler2 = invisibilityEventHandler;
  999.                     invisibilityEventHandler = Interlocked.CompareExchange(ref CustomEvents.UnitGoInvisible, (InvisibilityEventHandler)Delegate.Remove(invisibilityEventHandler2, value), invisibilityEventHandler);
  1000.                 }
  1001.                 while ((object)invisibilityEventHandler != invisibilityEventHandler2);
  1002.             }
  1003.         }
  1004.  
  1005.         public static event InvisibilityEventHandler UnitGoVisible
  1006.         {
  1007.             add
  1008.             {
  1009.                 InvisibilityEventHandler invisibilityEventHandler = CustomEvents.UnitGoVisible;
  1010.                 InvisibilityEventHandler invisibilityEventHandler2;
  1011.                 do
  1012.                 {
  1013.                     invisibilityEventHandler2 = invisibilityEventHandler;
  1014.                     invisibilityEventHandler = Interlocked.CompareExchange(ref CustomEvents.UnitGoVisible, (InvisibilityEventHandler)Delegate.Combine(invisibilityEventHandler2, value), invisibilityEventHandler);
  1015.                 }
  1016.                 while ((object)invisibilityEventHandler != invisibilityEventHandler2);
  1017.             }
  1018.             remove
  1019.             {
  1020.                 InvisibilityEventHandler invisibilityEventHandler = CustomEvents.UnitGoVisible;
  1021.                 InvisibilityEventHandler invisibilityEventHandler2;
  1022.                 do
  1023.                 {
  1024.                     invisibilityEventHandler2 = invisibilityEventHandler;
  1025.                     invisibilityEventHandler = Interlocked.CompareExchange(ref CustomEvents.UnitGoVisible, (InvisibilityEventHandler)Delegate.Remove(invisibilityEventHandler2, value), invisibilityEventHandler);
  1026.                 }
  1027.                 while ((object)invisibilityEventHandler != invisibilityEventHandler2);
  1028.             }
  1029.         }
  1030.  
  1031.         public static event CustomActionEventHandler CustomAction
  1032.         {
  1033.             add
  1034.             {
  1035.                 CustomActionEventHandler customActionEventHandler = CustomEvents.CustomAction;
  1036.                 CustomActionEventHandler customActionEventHandler2;
  1037.                 do
  1038.                 {
  1039.                     customActionEventHandler2 = customActionEventHandler;
  1040.                     customActionEventHandler = Interlocked.CompareExchange(ref CustomEvents.CustomAction, (CustomActionEventHandler)Delegate.Combine(customActionEventHandler2, value), customActionEventHandler);
  1041.                 }
  1042.                 while ((object)customActionEventHandler != customActionEventHandler2);
  1043.             }
  1044.             remove
  1045.             {
  1046.                 CustomActionEventHandler customActionEventHandler = CustomEvents.CustomAction;
  1047.                 CustomActionEventHandler customActionEventHandler2;
  1048.                 do
  1049.                 {
  1050.                     customActionEventHandler2 = customActionEventHandler;
  1051.                     customActionEventHandler = Interlocked.CompareExchange(ref CustomEvents.CustomAction, (CustomActionEventHandler)Delegate.Remove(customActionEventHandler2, value), customActionEventHandler);
  1052.                 }
  1053.                 while ((object)customActionEventHandler != customActionEventHandler2);
  1054.             }
  1055.         }
  1056.  
  1057.         public void OnUnitCreated(Unit Unit)
  1058.         {
  1059.             if (this.DebugEnabled)
  1060.             {
  1061.                 Debug.Log("Unit '" + Unit.Name + "' (Faction ID " + Unit.FactionID + ") created");
  1062.             }
  1063.             CustomEvents.UnitCreated(Unit);
  1064.         }
  1065.  
  1066.         public void OnUnitDead(Unit Unit)
  1067.         {
  1068.             if (this.DebugEnabled)
  1069.             {
  1070.                 Debug.Log("Unit '" + Unit.Name + "' (Faction ID " + Unit.FactionID + ") dead");
  1071.             }
  1072.             CustomEvents.UnitDead(Unit);
  1073.         }
  1074.  
  1075.         public void OnUnitSelected(Unit Unit)
  1076.         {
  1077.             if (this.DebugEnabled)
  1078.             {
  1079.                 Debug.Log("Unit '" + Unit.Name + "' (Faction ID " + Unit.FactionID + ") selected");
  1080.             }
  1081.             CustomEvents.UnitSelected(Unit);
  1082.         }
  1083.  
  1084.         public void OnUnitDeselected(Unit Unit)
  1085.         {
  1086.             if (this.DebugEnabled)
  1087.             {
  1088.                 Debug.Log("Unit '" + Unit.Name + "' (Faction ID " + Unit.FactionID + ") deselected");
  1089.             }
  1090.             CustomEvents.UnitDeselcted(Unit);
  1091.         }
  1092.  
  1093.         public void OnUnitStartCollecting(Unit Unit, Resource Resource)
  1094.         {
  1095.             if (this.DebugEnabled)
  1096.             {
  1097.                 Debug.Log("Unit '" + Unit.Name + "' (Faction ID " + Unit.FactionID + ") start collecting resource: '" + Resource.Name + "' (ID: " + Resource.ID + ")");
  1098.             }
  1099.             CustomEvents.UnitStartCollecting(Unit, Resource);
  1100.         }
  1101.  
  1102.         public void OnUnitStopCollecting(Unit Unit, Resource Resource)
  1103.         {
  1104.             if (this.DebugEnabled)
  1105.             {
  1106.                 Debug.Log("Unit '" + Unit.Name + "' (Faction ID " + Unit.FactionID + ") stopped collecting resource: '" + Resource.Name + "' (ID: " + Resource.ID + ")");
  1107.             }
  1108.             CustomEvents.UnitStopCollecting(Unit, Resource);
  1109.         }
  1110.  
  1111.         public void OnUnitStartBuilding(Unit Unit, Building Building)
  1112.         {
  1113.             if (this.DebugEnabled)
  1114.             {
  1115.                 Debug.Log("Unit '" + Unit.Name + "' (Faction ID " + Unit.FactionID + ") started constructing building: '" + Building.Name + "'");
  1116.             }
  1117.             CustomEvents.UnitStartBuilding(Unit, Building);
  1118.         }
  1119.  
  1120.         public void OnUnitStopBuilding(Unit Unit, Building Building)
  1121.         {
  1122.             if (this.DebugEnabled)
  1123.             {
  1124.                 Debug.Log("Unit '" + Unit.Name + "' (Faction ID " + Unit.FactionID + ") stopped constructing building: '" + Building.Name + "'");
  1125.             }
  1126.             CustomEvents.UnitStopBuilding(Unit, Building);
  1127.         }
  1128.  
  1129.         public void OnUnitTeleport(Portal From, Portal To, Unit Unit)
  1130.         {
  1131.             if (this.DebugEnabled)
  1132.             {
  1133.                 Debug.Log("Unit '" + Unit.Name + "' (Faction ID " + Unit.FactionID + ") teleported from: '" + From.Name + "' to '" + From.Name + "'");
  1134.             }
  1135.             CustomEvents.UnitTeleport(From, To, Unit);
  1136.         }
  1137.  
  1138.         public void OnPortalDoubleClick(Portal From, Portal To, Unit Unit)
  1139.         {
  1140.             if (this.DebugEnabled)
  1141.             {
  1142.                 Debug.Log("Moved camera view from '" + From.Name + "' to '" + From.Name + "'");
  1143.             }
  1144.             CustomEvents.PortalDoubleClick(From, To, Unit);
  1145.         }
  1146.  
  1147.         public void OnUnitSwitchAttack(Unit Unit, Attack From, Attack To)
  1148.         {
  1149.             if (this.DebugEnabled)
  1150.             {
  1151.                 Debug.Log("Unit '" + Unit.Name + "' (Faction ID: " + Unit.FactionID + ") has changed its attack type");
  1152.             }
  1153.             CustomEvents.UnitSwitchAttack(Unit, From, To);
  1154.         }
  1155.  
  1156.         public void OnUnitStartHealing(Unit Unit, Unit TargetUnit)
  1157.         {
  1158.             if (this.DebugEnabled)
  1159.             {
  1160.                 Debug.Log("Unit '" + Unit.Name + "' (Faction ID " + Unit.FactionID + ") started healing unit: '" + TargetUnit.Name + "'");
  1161.             }
  1162.             CustomEvents.UnitStartHealing(Unit, TargetUnit);
  1163.         }
  1164.  
  1165.         public void OnUnitStopHealing(Unit Unit, Unit TargetUnit)
  1166.         {
  1167.             if (this.DebugEnabled)
  1168.             {
  1169.                 Debug.Log("Unit '" + Unit.Name + "' (Faction ID " + Unit.FactionID + ") stopped healing unit: '" + TargetUnit.Name + "'");
  1170.             }
  1171.             CustomEvents.UnitStopHealing(Unit, TargetUnit);
  1172.         }
  1173.  
  1174.         public void OnUnitStartConverting(Unit Unit, Unit TargetUnit)
  1175.         {
  1176.             if (this.DebugEnabled)
  1177.             {
  1178.                 Debug.Log("Unit '" + Unit.Name + "' (Faction ID " + Unit.FactionID + ") started converting unit: '" + TargetUnit.Name + "'");
  1179.             }
  1180.             CustomEvents.UnitStartConverting(Unit, TargetUnit);
  1181.         }
  1182.  
  1183.         public void OnUnitStopConverting(Unit Unit, Unit TargetUnit)
  1184.         {
  1185.             if (this.DebugEnabled)
  1186.             {
  1187.                 Debug.Log("Unit '" + Unit.Name + "' (Faction ID " + Unit.FactionID + ") stopped converting unit: '" + TargetUnit.Name + "'");
  1188.             }
  1189.             CustomEvents.UnitStopConverting(Unit, TargetUnit);
  1190.         }
  1191.  
  1192.         public void OnUnitConverted(Unit Unit, Unit TargetUnit)
  1193.         {
  1194.             if (this.DebugEnabled)
  1195.             {
  1196.                 Debug.Log(TargetUnit.Name + " has been converted.");
  1197.             }
  1198.             CustomEvents.UnitConverted(Unit, TargetUnit);
  1199.         }
  1200.  
  1201.         public void OnBuildingPlaced(Building Building)
  1202.         {
  1203.             if (this.DebugEnabled)
  1204.             {
  1205.                 Debug.Log("Building '" + Building.Name + "' (Faction ID " + Building.FactionID + ") placed");
  1206.             }
  1207.             CustomEvents.BuildingPlaced(Building);
  1208.         }
  1209.  
  1210.         public void OnBuildingBuilt(Building Building)
  1211.         {
  1212.             if (this.DebugEnabled)
  1213.             {
  1214.                 Debug.Log("Building '" + Building.Name + "' (Faction ID " + Building.FactionID + ") built");
  1215.             }
  1216.             CustomEvents.BuildingBuilt(Building);
  1217.         }
  1218.  
  1219.         public void OnBuildingDestroyed(Building Building)
  1220.         {
  1221.             if (this.DebugEnabled)
  1222.             {
  1223.                 Debug.Log("Building '" + Building.Name + "' (Faction ID " + Building.FactionID + ") destroyed");
  1224.             }
  1225.             CustomEvents.BuildingDestroyed(Building);
  1226.         }
  1227.  
  1228.         public void OnBuildingSelected(Building Building)
  1229.         {
  1230.             if (this.DebugEnabled)
  1231.             {
  1232.                 Debug.Log("Building '" + Building.Name + "' (Faction ID " + Building.FactionID + ") selected");
  1233.             }
  1234.             CustomEvents.BuildingSelected(Building);
  1235.         }
  1236.  
  1237.         public void OnBuildingDeselected(Building Building)
  1238.         {
  1239.             if (this.DebugEnabled)
  1240.             {
  1241.                 Debug.Log("Building '" + Building.Name + "' (Faction ID " + Building.FactionID + ") deselected");
  1242.             }
  1243.             CustomEvents.BuildingDeselected(Building);
  1244.         }
  1245.  
  1246.         public void OnBuildingStartUpgrade(Building Building, bool Direct)
  1247.         {
  1248.             if (this.DebugEnabled)
  1249.             {
  1250.                 Debug.Log("Building '" + Building.Name + "' (Faction ID " + Building.FactionID + ") started an upgrade.");
  1251.             }
  1252.             CustomEvents.BuildingStartUpgrade(Building, Direct);
  1253.         }
  1254.  
  1255.         public void OnBuildingCompleteUpgrade(Building Building, bool Direct)
  1256.         {
  1257.             if (this.DebugEnabled)
  1258.             {
  1259.                 Debug.Log("Building '" + Building.Name + "' (Faction ID " + Building.FactionID + ") is the result of a building upgrade.");
  1260.             }
  1261.             CustomEvents.BuildingCompleteUpgrade(Building, Direct);
  1262.         }
  1263.  
  1264.         public void OnAPCAddUnit(APC APC, Unit Unit)
  1265.         {
  1266.             if (this.DebugEnabled)
  1267.             {
  1268.                 string str = string.Empty;
  1269.                 if ((bool)APC.gameObject.GetComponent<Unit>())
  1270.                 {
  1271.                     str = APC.gameObject.GetComponent<Unit>().Name;
  1272.                 }
  1273.                 else if ((bool)APC.gameObject.GetComponent<Building>())
  1274.                 {
  1275.                     str = APC.gameObject.GetComponent<Building>().Name;
  1276.                 }
  1277.                 Debug.Log("APC '" + str + "' added unit: " + Unit.Name);
  1278.             }
  1279.             CustomEvents.APCAddUnit(APC, Unit);
  1280.         }
  1281.  
  1282.         public void OnAPCRemoveUnit(APC APC, Unit Unit)
  1283.         {
  1284.             if (this.DebugEnabled)
  1285.             {
  1286.                 string str = string.Empty;
  1287.                 if ((bool)APC.gameObject.GetComponent<Unit>())
  1288.                 {
  1289.                     str = APC.gameObject.GetComponent<Unit>().Name;
  1290.                 }
  1291.                 else if ((bool)APC.gameObject.GetComponent<Building>())
  1292.                 {
  1293.                     str = APC.gameObject.GetComponent<Building>().Name;
  1294.                 }
  1295.                 Debug.Log("APC '" + str + "' removed unit: " + Unit.Name);
  1296.             }
  1297.             CustomEvents.APCRemoveUnit(APC, Unit);
  1298.         }
  1299.  
  1300.         public void OnAPCCallUnits(APC APC, Unit Unit)
  1301.         {
  1302.             if (this.DebugEnabled)
  1303.             {
  1304.                 string str = string.Empty;
  1305.                 if ((bool)APC.gameObject.GetComponent<Unit>())
  1306.                 {
  1307.                     str = APC.gameObject.GetComponent<Unit>().Name;
  1308.                 }
  1309.                 else if ((bool)APC.gameObject.GetComponent<Building>())
  1310.                 {
  1311.                     str = APC.gameObject.GetComponent<Building>().Name;
  1312.                 }
  1313.                 Debug.Log("APC '" + str + "' is calling for units.");
  1314.             }
  1315.             CustomEvents.APCCallUnits(APC, Unit);
  1316.         }
  1317.  
  1318.         public void OnTaskLaunched(Building Building, Building.BuildingTasksVars Task)
  1319.         {
  1320.             if (this.DebugEnabled)
  1321.             {
  1322.                 Debug.Log("Building '" + Building.Name + "' launched a task.");
  1323.             }
  1324.             CustomEvents.TaskLaunched(Building, Task);
  1325.         }
  1326.  
  1327.         public void OnTaskCanceled(Building Building, Building.BuildingTasksVars Task)
  1328.         {
  1329.             if (this.DebugEnabled)
  1330.             {
  1331.                 Debug.Log("Building '" + Building.Name + "' canceled a pending task.");
  1332.             }
  1333.             CustomEvents.TaskCanceled(Building, Task);
  1334.         }
  1335.  
  1336.         public void OnTaskCompleted(Building Building, Building.BuildingTasksVars Task)
  1337.         {
  1338.             if (this.DebugEnabled)
  1339.             {
  1340.                 Debug.Log("Building '" + Building.Name + "' completed a task.");
  1341.             }
  1342.             CustomEvents.TaskCompleted(Building, Task);
  1343.         }
  1344.  
  1345.         public void OnResourceEmpty(Resource Resource)
  1346.         {
  1347.             if (this.DebugEnabled)
  1348.             {
  1349.                 Debug.Log("Resource '" + Resource.Name + "' is now empty");
  1350.             }
  1351.             CustomEvents.ResourceEmpty(Resource);
  1352.         }
  1353.  
  1354.         public void OnResourceSelected(Resource Resource)
  1355.         {
  1356.             if (this.DebugEnabled)
  1357.             {
  1358.                 Debug.Log("Resource '" + Resource.Name + "' is selected");
  1359.             }
  1360.             CustomEvents.ResourceSelected(Resource);
  1361.         }
  1362.  
  1363.         public void OnResourceDeselected(Resource Resource)
  1364.         {
  1365.             if (this.DebugEnabled)
  1366.             {
  1367.                 Debug.Log("Resource '" + Resource.Name + "' is deselected");
  1368.             }
  1369.             CustomEvents.ResourceDeselected(Resource);
  1370.         }
  1371.  
  1372.         public void OnFactionEliminated(GameManager.FactionInfo FactionInfo)
  1373.         {
  1374.             if (this.DebugEnabled)
  1375.             {
  1376.                 Debug.Log("Faction: " + FactionInfo.Name + " has been eliminated from the game.");
  1377.             }
  1378.             CustomEvents.FactionEliminated(FactionInfo);
  1379.         }
  1380.  
  1381.         public void OnFactionWin(GameManager.FactionInfo FactionInfo)
  1382.         {
  1383.             if (this.DebugEnabled)
  1384.             {
  1385.                 Debug.Log("Faction: " + FactionInfo.Name + " won the game.");
  1386.             }
  1387.             CustomEvents.FactionWin(FactionInfo);
  1388.         }
  1389.  
  1390.         public void OnUnitGoInvisible(Unit Unit)
  1391.         {
  1392.             if (this.DebugEnabled)
  1393.             {
  1394.                 Debug.Log("Unit: " + Unit.Name + " just went invisible.");
  1395.             }
  1396.             CustomEvents.UnitGoInvisible(Unit);
  1397.         }
  1398.  
  1399.         public void OnUnitGoVisible(Unit Unit)
  1400.         {
  1401.             if (this.DebugEnabled)
  1402.             {
  1403.                 Debug.Log("Unit: " + Unit.Name + " just went visible.");
  1404.             }
  1405.             CustomEvents.UnitGoVisible(Unit);
  1406.         }
  1407.  
  1408.         public void OnAttackTargetLocked(Attack Source, GameObject Target, int AttackID)
  1409.         {
  1410.             if (this.DebugEnabled)
  1411.             {
  1412.                 string text = "NULL";
  1413.                 text = ((!(bool)Target.gameObject.GetComponent<Unit>()) ? Target.gameObject.GetComponent<Building>().Name : Target.gameObject.GetComponent<Unit>().Name);
  1414.                 Debug.Log("Attacker: " + Source.gameObject.name + " just locked victim: " + text);
  1415.             }
  1416.             CustomEvents.AttackTargetLocked(Source, Target, AttackID);
  1417.         }
  1418.  
  1419.         public void OnAttackPerformed(Attack Source, GameObject Target, int AttackID)
  1420.         {
  1421.             if (this.DebugEnabled)
  1422.             {
  1423.                 string text = "NULL";
  1424.                 text = ((!(bool)Target.gameObject.GetComponent<Unit>()) ? Target.gameObject.GetComponent<Building>().Name : Target.gameObject.GetComponent<Unit>().Name);
  1425.                 Debug.Log("Attacker: " + Source.gameObject.name + " just locked victim: " + text);
  1426.             }
  1427.             CustomEvents.AttackPerformed(Source, Target, AttackID);
  1428.         }
  1429.  
  1430.         public void OnCustomAction(GameObject Source, GameObject Target, int ID)
  1431.         {
  1432.             if ((UnityEngine.Object)Source != (UnityEngine.Object)null)
  1433.             {
  1434.                 Unit component = Source.gameObject.GetComponent<Unit>();
  1435.                 if (ID >= 0 && ID <= 10)
  1436.                 {
  1437.                     if ((bool)component.MultipleAttacksMgr)
  1438.                     {
  1439.                         component.MultipleAttacksMgr.EnableAttackTypeLocal(ID);
  1440.                     }
  1441.                 }
  1442.                 else
  1443.                 {
  1444.                     switch (ID)
  1445.                     {
  1446.                     case 11:
  1447.                     {
  1448.                         Unit component2 = Target.gameObject.GetComponent<Unit>();
  1449.                         if ((UnityEngine.Object)component2 != (UnityEngine.Object)null)
  1450.                         {
  1451.                             component.ConvertUnitLocal(component2);
  1452.                         }
  1453.                         break;
  1454.                     }
  1455.                     case 12:
  1456.                         if ((bool)component.InvisibilityMgr)
  1457.                         {
  1458.                             component.InvisibilityMgr.ToggleInvisibilityLocal();
  1459.                         }
  1460.                         break;
  1461.                     }
  1462.                 }
  1463.                 if ((bool)Source.GetComponent<APC>() && ID >= 13 && ID <= 30)
  1464.                 {
  1465.                     Source.GetComponent<APC>().RemoveUnitFromAPCLocal(ID - 13);
  1466.                 }
  1467.                 if ((bool)Source.GetComponent<Building>() && ID >= 31 && ID <= 50)
  1468.                 {
  1469.                     Source.GetComponent<Building>().LaunchResearchTaskLocal(ID - 31);
  1470.                 }
  1471.             }
  1472.             CustomEvents.CustomAction(Source, Target, ID);
  1473.         }
  1474.  
  1475.         static CustomEvents()
  1476.         {
  1477.             CustomEvents.UnitCreated = delegate
  1478.             {
  1479.             };
  1480.             CustomEvents.UnitDead = delegate
  1481.             {
  1482.             };
  1483.             CustomEvents.UnitSelected = delegate
  1484.             {
  1485.             };
  1486.             CustomEvents.UnitDeselcted = delegate
  1487.             {
  1488.             };
  1489.             CustomEvents.UnitStartCollecting = delegate
  1490.             {
  1491.             };
  1492.             CustomEvents.UnitStopCollecting = delegate
  1493.             {
  1494.             };
  1495.             CustomEvents.UnitStartBuilding = delegate
  1496.             {
  1497.             };
  1498.             CustomEvents.UnitStopBuilding = delegate
  1499.             {
  1500.             };
  1501.             CustomEvents.UnitStartHealing = delegate
  1502.             {
  1503.             };
  1504.             CustomEvents.UnitStopHealing = delegate
  1505.             {
  1506.             };
  1507.             CustomEvents.UnitStartConverting = delegate
  1508.             {
  1509.             };
  1510.             CustomEvents.UnitStopConverting = delegate
  1511.             {
  1512.             };
  1513.             CustomEvents.UnitConverted = delegate
  1514.             {
  1515.             };
  1516.             CustomEvents.UnitSwitchAttack = delegate
  1517.             {
  1518.             };
  1519.             CustomEvents.AttackTargetLocked = delegate
  1520.             {
  1521.             };
  1522.             CustomEvents.AttackPerformed = delegate
  1523.             {
  1524.             };
  1525.             CustomEvents.BuildingPlaced = delegate
  1526.             {
  1527.             };
  1528.             CustomEvents.BuildingBuilt = delegate
  1529.             {
  1530.             };
  1531.             CustomEvents.BuildingDestroyed = delegate
  1532.             {
  1533.             };
  1534.             CustomEvents.BuildingSelected = delegate
  1535.             {
  1536.             };
  1537.             CustomEvents.BuildingDeselected = delegate
  1538.             {
  1539.             };
  1540.             CustomEvents.BuildingStartUpgrade = delegate
  1541.             {
  1542.             };
  1543.             CustomEvents.BuildingCompleteUpgrade = delegate
  1544.             {
  1545.             };
  1546.             CustomEvents.TaskLaunched = delegate
  1547.             {
  1548.             };
  1549.             CustomEvents.TaskCanceled = delegate
  1550.             {
  1551.             };
  1552.             CustomEvents.TaskCompleted = delegate
  1553.             {
  1554.             };
  1555.             CustomEvents.ResourceEmpty = delegate
  1556.             {
  1557.             };
  1558.             CustomEvents.ResourceSelected = delegate
  1559.             {
  1560.             };
  1561.             CustomEvents.ResourceDeselected = delegate
  1562.             {
  1563.             };
  1564.             CustomEvents.APCAddUnit = delegate
  1565.             {
  1566.             };
  1567.             CustomEvents.APCRemoveUnit = delegate
  1568.             {
  1569.             };
  1570.             CustomEvents.APCCallUnits = delegate
  1571.             {
  1572.             };
  1573.             CustomEvents.UnitTeleport = delegate
  1574.             {
  1575.             };
  1576.             CustomEvents.PortalDoubleClick = delegate
  1577.             {
  1578.             };
  1579.             CustomEvents.FactionEliminated = delegate
  1580.             {
  1581.             };
  1582.             CustomEvents.FactionWin = delegate
  1583.             {
  1584.             };
  1585.             CustomEvents.UnitGoInvisible = delegate
  1586.             {
  1587.             };
  1588.             CustomEvents.UnitGoVisible = delegate
  1589.             {
  1590.             };
  1591.             CustomEvents.CustomAction = delegate
  1592.             {
  1593.             };
  1594.         }
  1595.     }
  1596. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement