示例#1
0
        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;
            }
        }
示例#2
0
        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;
            }
        }
示例#3
0
        /// <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);
            }
        }
示例#4
0
        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));
        }
示例#5
0
        /// <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);
            }
        }