Exemplo n.º 1
0
        public static TweakerOptions GetDefaultWithAdditionalFlags(TweakerOptionFlags flags)
        {
            TweakerOptions @default = GetDefault();

            @default.Flags |= flags;
            return(@default);
        }
Exemplo n.º 2
0
        private void Awake()
        {
            global::Tweaker.Core.LogManager.Set(new LogManager());
            logger = global::Tweaker.Core.LogManager.GetCurrentClassLogger();
            logger.Info("Logger initialized");
            tweaker = new Tweaker();
            Scanner     scanner     = new Scanner();
            ScanOptions scanOptions = new ScanOptions();

            scanOptions.Assemblies.ScannableRefs = new Assembly[1] {
                typeof(TweakerConsoleTestbed).Assembly
            };
            TweakerOptions tweakerOptions = new TweakerOptions();

            tweakerOptions.Flags = TweakerOptionFlags.ScanForInvokables | TweakerOptionFlags.ScanForTweakables | TweakerOptionFlags.ScanForWatchables | TweakerOptionFlags.DoNotAutoScan | TweakerOptionFlags.IncludeTests;
            tweaker.Init(tweakerOptions, scanner);
            TweakerSerializer serializer = new TweakerSerializer(tweaker.Scanner);

            tweaker.Scanner.Scan(scanOptions);
            console = Object.Instantiate(ConsolePrefab);
            logger.Info("console instatiated: " + console);
            console.GetComponent <RectTransform>().SetParent(GetComponent <RectTransform>(), worldPositionStays: false);
            logger.Info("console parented to testbed canvas");
            console.Init(tweaker, serializer);
        }
Exemplo n.º 3
0
        public static TweakerOptions GetDefault()
        {
            TweakerOptions tweakerOptions = new TweakerOptions();

            tweakerOptions.Flags = GetDefaultFlags();
            return(tweakerOptions);
        }
        private IEnumerator Start()
        {
            IScanner scanner = new Scanner();

            tweaker = new Tweaker();
            TweakerOptions options = TweakerOptions.GetDefaultWithAdditionalFlags(TweakerOptionFlags.IncludeTests);

            tweaker.Init(options, scanner);
            AutoTweakable.Manager = tweaker.Tweakables;
            new TestClass(disposeTweakable: false);
            ITweakable tweakable = tweaker.Tweakables.GetTweakable(new SearchOptions("TestClass.AutoInt#"));

            IntegrationTest.Assert(tweakable != null);
            uint counter = 0u;

            while (tweaker.Tweakables.GetTweakable(new SearchOptions("TestClass.AutoInt#")) != null)
            {
                GC.Collect();
                counter++;
                if (counter > 1000)
                {
                    IntegrationTest.Fail("Failed to finalize AutoTweakable after " + counter + " frames.");
                    yield break;
                }
                yield return(null);
            }
            IntegrationTest.Pass();
        }
 public BaseTweakerManager(IScanner scanner, TweakerOptions options)
 {
     objects      = new TweakerDictionary <T>();
     this.options = options;
     this.scanner = scanner;
     if (this.scanner != null)
     {
         this.scanner.GetResultProvider <T>().ResultProvided += OnObjectFound;
     }
 }
Exemplo n.º 6
0
        public override IEnumerator PerformFirstPass()
        {
            if (!enableTweaker.Value || Service.Get <ContentSchedulerService>().IsBeforeScheduleEventDates(TweakerAvailableDate))
            {
                yield break;
            }
            LogManager.Set(new TweakerLogManager());
            tweaker = new global::Tweaker.Tweaker();
            scanner = new Scanner();
            ScanOptions scanOptions = new ScanOptions
            {
                Assemblies =
                {
                    NameRegex = string.Join("|", ClientInfo.Instance.GameAssemblyNames)
                }
            };
            TweakerOptions tweakerOptions = new TweakerOptions
            {
                Flags = (TweakerOptionFlags.ScanForInvokables | TweakerOptionFlags.ScanForTweakables | TweakerOptionFlags.ScanForWatchables | TweakerOptionFlags.DoNotAutoScan)
            };

            tweaker.Init(tweakerOptions, scanner);
            serializer = new TweakerSerializer(scanner);
            TweakablesClassList tweakablesClassList = Content.LoadImmediate <TweakablesClassList>("TweakableClassList");

            for (int i = 0; i < tweakablesClassList.AssemblyList.Count; i++)
            {
                if (tweakablesClassList.AssemblyList[i] != null)
                {
                    Type type = Type.GetType(tweakablesClassList.AssemblyList[i]);
                    if (type != null)
                    {
                        tweaker.Scanner.ScanType(type);
                    }
                }
            }
            Service.Set(TweakerController);
            TweakerController.Init(tweaker, serializer);
            TweakerController.gameObject.SetActive(value: false);
            yield return(new WaitForSeconds(1.5f));
        }
Exemplo n.º 7
0
 public InvokableProcessor(TweakerOptions options)
 {
     this.options = options;
 }
Exemplo n.º 8
0
 public TweakableManager(IScanner scanner, TweakerOptions options)
 {
     baseManager = new BaseTweakerManager <ITweakable>(scanner, options);
     scanner?.AddProcessor(new TweakableProcessor(options));
 }
Exemplo n.º 9
0
 public WatchableManager(IScanner scanner, TweakerOptions options)
 {
 }