コード例 #1
0
        private void Awake()
        {
            World = new World(new Vector2(0, -10));

            // Define the gravity vector.
            DebugDrawer = DebugDrawer.GetDrawer();

            WorldDrawer = new BoxDrawer {
                Drawer = DebugDrawer
            };

            World.SetDebugDrawer(WorldDrawer);
            Logger.SetLogger(new UnityLogger());
        }
コード例 #2
0
ファイル: TestController.cs プロジェクト: qq362946/Box2DSharp
        private void Awake()
        {
            if (!Dropdown)
            {
                throw new NullReferenceException("Test dropdown not found");
            }

            if (!RestartButton)
            {
                throw new NullReferenceException("Restart button not found");
            }

            _testTypes = typeof(TestBase).Assembly.GetTypes().Where(e => e.BaseType == typeof(TestBase)).ToArray();

            Settings             = gameObject.GetComponent <TestSettings>() ?? gameObject.AddComponent <TestSettings>();
            Settings.DebugDrawer = DebugDrawer.GetDrawer();
            Settings.WorldDrawer = new BoxDrawer {
                Drawer = Settings.DebugDrawer
            };

            Dropdown.ClearOptions();
            Dropdown.AddOptions(_testTypes.Select(e => e.Name).ToList());
            Dropdown.onValueChanged.AddListener(OnTestSelect);

            RestartButton.onClick.AddListener(Restart);

            foreach (var toggleField in typeof(TestSettings)
                     .GetFields()
                     .Where(f => f.GetCustomAttribute <ToggleAttribute>() != null))
            {
                var toggleName   = $"Canvas/{toggleField.Name}";
                var toggleObject = GameObject.Find(toggleName)
                                   ?? throw new NullReferenceException($"{toggleName} not found");
                var toggle = toggleObject.GetComponent <Toggle>();
                toggle.isOn = (bool)toggleField.GetValue(Settings);
                toggle.onValueChanged.AddListener(
                    value => { toggleField.SetValue(Settings, value); });
            }
        }