static void GameObjectOnCreate(GameObject sender, EventArgs args) { if (!(sender is Obj_AI_Minion)) { return; } var obj = (Obj_AI_Minion)sender; switch (obj.BaseSkinName.ToLower()) { case "sru_baron": Baron = (Obj_AI_Minion)sender; return; case "sru_dragon": Dragon = (Obj_AI_Minion)sender; return; case "sru_blue": BlueBuffs.Add((Obj_AI_Minion)sender); return; case "sru_red": RedBuffs.Add((Obj_AI_Minion)sender); break; } }
private static void GameObjectOnOnDelete(GameObject sender, EventArgs args) { if (!(sender is Obj_AI_Minion)) { return; } var obj = (Obj_AI_Minion)sender; switch (obj.BaseSkinName.ToLower()) { case "sru_baron": Baron = null; return; case "sru_dragon": Dragon = null; return; case "sru_blue": BlueBuffs.RemoveAll(x => x.NetworkId == obj.NetworkId); return; case "sru_red": RedBuffs.RemoveAll(x => x.NetworkId == obj.NetworkId); return; } }
/// <summary> /// Fired when the game is updated. /// </summary> /// <param name="args">The <see cref="EventArgs" /> instance containing the event data.</param> private static void GameOnOnUpdate(EventArgs args) { if (Baron != null && (Baron.IsDead || !Baron.IsValid)) { Baron = null; OnObjectiveDead?.Invoke(Baron, ObjectiveType.Baron); } if (Dragon != null && (Dragon.IsDead || !Dragon.IsValid)) { Dragon = null; OnObjectiveDead?.Invoke(Dragon, ObjectiveType.Dragon); } foreach (var blue in BlueBuffs.ToArray().Where(x => x.IsDead || !x.IsValid)) { BlueBuffs.RemoveAll(x => x.NetworkId == blue.NetworkId); OnObjectiveDead?.Invoke(blue, ObjectiveType.Blue); } foreach (var red in RedBuffs.ToArray().Where(x => x.IsDead || !x.IsValid)) { RedBuffs.RemoveAll(x => x.NetworkId == red.NetworkId); OnObjectiveDead?.Invoke(red, ObjectiveType.Red); } }
private static void ScanObjects() { Baron = ObjectManager.Get <Obj_AI_Base>().FirstOrDefault(x => x.CharData.BaseSkinName.Equals("SRU_Baron")); if (Baron != null) { FireObjectCreatedEvent(Baron, ObjectiveType.Baron); } Dragon = ObjectManager.Get <Obj_AI_Base>().FirstOrDefault(x => x.CharData.BaseSkinName.Equals("SRU_Dragon")); if (Dragon != null) { FireObjectCreatedEvent(Dragon, ObjectiveType.Dragon); } BlueBuffs = ObjectManager.Get <Obj_AI_Base>().Where(x => x.CharData.BaseSkinName.Equals("SRU_Blue")).ToList(); BlueBuffs.ForEach(x => FireObjectCreatedEvent(x, ObjectiveType.Blue)); RedBuffs = ObjectManager.Get <Obj_AI_Base>().Where(x => x.CharData.BaseSkinName.Equals("SRU_Red")).ToList(); RedBuffs.ForEach(x => FireObjectCreatedEvent(x, ObjectiveType.Red)); }
/// <summary> /// Fired when a <see cref="GameObject" /> is created. /// </summary> /// <param name="sender">The sender.</param> /// <param name="args">The <see cref="EventArgs" /> instance containing the event data.</param> private static void GameObject_OnCreate(GameObject sender, EventArgs args) { var obj = sender as Obj_AI_Base; if (obj == null) { return; } if (obj.CharData.BaseSkinName == "SRU_Baron") { Baron = obj; FireObjectCreatedEvent(obj, ObjectiveType.Baron); } if (obj.CharData.BaseSkinName.Contains("SRU_Dragon")) { Dragon = obj; FireObjectCreatedEvent(obj, ObjectiveType.Dragon); } if (obj.CharData.BaseSkinName == "SRU_Blue") { BlueBuffs.Add(obj); FireObjectCreatedEvent(obj, ObjectiveType.Blue); } if (obj.CharData.BaseSkinName == "SRU_Red") { RedBuffs.Add(obj); FireObjectCreatedEvent(obj, ObjectiveType.Red); } }