示例#1
0
        public TypeDefinition?ResolveToTypeDefinition(TypeReference typeReference)
        {
            if (typeReference is ArrayType)
            {
                return(BCL.FindPredefinedType("System", "Array", _context));
            }

            return(_context.TryResolve(typeReference));
        }
 private void ResetAll()
 {
     foreach (BubbleColorLine BCL in BCLlist)
     {
         if (BCL.n < BallsColorLine.Count)
         {
             BCL.type = BallsColorLine [BCL.n];
             BCL.gameObject.SetActive(true);
             BCL.setColor();
         }
         else
         {
             BCL.gameObject.SetActive(false);
         }
     }
 }
示例#3
0
            void CleanRemovedVariables(List <VariableDefinition> variables)
            {
                foreach (var instr in body.Instructions)
                {
                    VariableDefinition variable = GetVariableReference(instr);
                    if (variable == null)
                    {
                        continue;
                    }

                    if (!variables.Remove(variable))
                    {
                        continue;
                    }

                    if (variables.Count == 0)
                    {
                        return;
                    }
                }

                variables.Sort((a, b) => b.Index.CompareTo(a.Index));
                var body_variables = body.Variables;

                foreach (var variable in variables)
                {
                    var index = body_variables.IndexOf(variable);

                    //
                    // Remove variable only if it's the last one. Instead of
                    // re-indexing all variables change it to System.Object,
                    // which is enough to drop the dependency
                    //
                    if (index == body_variables.Count - 1)
                    {
                        body_variables.RemoveAt(index);
                    }
                    else
                    {
                        var objectType = BCL.FindPredefinedType("System", "Object", context);
                        body_variables[index].VariableType = objectType ?? throw new NotSupportedException("Missing predefined 'System.Object' type");
                    }
                }
            }
示例#4
0
        void ExcludeEventSource(TypeDefinition type)
        {
            var annotations = Context.Annotations;

            foreach (var method in type.Methods)
            {
                if (annotations.GetAction(method) != MethodAction.Nothing)
                {
                    continue;
                }

                if (method.IsStatic)
                {
                    continue;
                }

                if (method.HasCustomAttributes)
                {
                    method.CustomAttributes.Clear();
                }

                if (method.IsDefaultConstructor())
                {
                    annotations.SetAction(method, MethodAction.ConvertToStub);
                    continue;
                }

                if (method.Name == "IsEnabled" || BCL.IsIDisposableImplementation(method) || method.IsFinalizer())
                {
                    annotations.SetAction(method, MethodAction.ConvertToStub);
                    continue;
                }

                if (MethodBodyScanner.IsWorthConvertingToThrow(method.Body))
                {
                    annotations.SetAction(method, MethodAction.ConvertToThrow);
                }
            }
        }
示例#5
0
        private static void doCombo()
        {
            try
            {
                // Menu Config
                var FeroSpell = Config.Item("FeroSpellC").GetValue <StringList>();
                var ForceW    = Config.Item("ForceWC").GetValue <Slider>();
                var ForceE    = Config.Item("ForceEC").GetValue <bool>();

                var Target = TargetSelector.GetSelectedTarget() ??
                             TargetSelector.GetTarget(1600f, TargetSelector.DamageType.Physical);

                // Force Leap to target
                if (Player.HasBuff("RengarR", true))
                {
                    LXOrbwalker.ForcedTarget = Target;
                    LXOrbwalker.SetAttack(LXOrbwalker.GetPossibleTarget() == Target);
                }

                // Use Tiamat / Hydra
                if (Target.IsValidTarget(TMT.Range))
                {
                    if (TMT.IsReady())
                    {
                        TMT.Cast();
                    }
                    else if (HYD.IsReady())
                    {
                        HYD.Cast();
                    }
                }

                // Use Yommus Ghostblade
                if (YGB.IsReady() &&
                    Target.IsValidTarget(Orbwalking.GetRealAutoAttackRange(Player) +
                                         (Player.HasBuff("RengarR", true) ? Player.MoveSpeed / 2 : 0)))
                {
                    YGB.Cast();
                }

                // Cutlass
                if (BCL.IsReady() && Target.IsValidTarget(BCL.Range))
                {
                    BCL.Cast(Target);
                }

                // BORK
                if (BRK.IsReady() && Target.IsValidTarget(BRK.Range))
                {
                    BRK.Cast(Target);
                }

                // Ferocity Spell
                if (Player.Mana == 5)
                {
                    if (Player.Health / Player.MaxHealth < ForceW.Value / 100f && Target.IsValidTarget(W.Range))
                    {
                        W.CastOnUnit(Player, UsePackets);
                        return;
                    }

                    switch (FeroSpell.SelectedIndex)
                    {
                    case 1:
                        if (!Target.IsValidTarget(W.Range))
                        {
                            return;
                        }
                        W.CastOnUnit(Player, UsePackets);
                        break;

                    case 2:
                        if (!Target.IsValidTarget(E.Range) || Player.HasBuff("RengarR", true))
                        {
                            return;
                        }
                        E.Cast(Target, UsePackets);
                        break;
                    }
                    return;
                }

                // Don't cast W or E while ultimate is active (force leap)
                if (Player.HasBuff("RengarR", true))
                {
                    return;
                }

                if (E.IsReady() && Target.IsValidTarget(E.Range) &&
                    (!Target.HasBuff("RengarEFinalMAX", true) && !Target.HasBuff("rengareslow") &&
                     LastETick + 1500 < Environment.TickCount || ForceE))
                {
                    E.Cast(Target, UsePackets);
                }

                if (W.IsReady() && Target.IsValidTarget(W.Range))
                {
                    W.CastOnUnit(Player, UsePackets);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("Combo Exception: {0}", e);
            }
        }