示例#1
0
    void Awake()
    {
        if (instance != null)
        {
            Debug.LogError("More than one GvrController instance was found in your scene. "
                           + "Ensure that there is only one GvrController.");
            this.enabled = false;
            return;
        }
        instance = this;
        if (controllerProvider == null)
        {
            controllerProvider = ControllerProviderFactory.CreateControllerProvider(this);
        }

        // Keep screen on here, in case there isn't a GvrViewerMain prefab in the scene.
        // This ensures the behaviour for:
        //   (a) Cardboard apps on pre-integration Unity versions - they must have GvrViewerMain in a scene.
        //   (b) Daydream apps - these must be on GVR-integrated Unity versions, and must have GvrControllerMain.
        // Cardboard-only apps on the native integration are likely to have GvrViewerMain in their scene; otherwise,
        // the line below can be added to any script of the developer's choice.
        Screen.sleepTimeout = SleepTimeout.NeverSleep;

#if OVERRIDE_GVR_WITH_OPENVR
        gameObject.AddComponent <SteamVR_TrackedControllerExtended>();
        gameObject.AddComponent <SteamVR_TrackedObjectExtended>();
        openVRController = gameObject.AddComponent <GvrOpenVRController>();
#endif
    }
示例#2
0
    void Awake()
    {
        if (instances.Length > 0)
        {
            Debug.LogError("More than one active GvrControllerInput instance was found in your scene. "
                           + "Ensure that there is only one GvrControllerInput.");
            this.enabled = false;
            return;
        }
        if (controllerProvider == null)
        {
            controllerProvider = ControllerProviderFactory.CreateControllerProvider(this);
        }

        handedness = GvrSettings.Handedness;
        int controllerCount = 2;

        instances = new GvrControllerInputDevice[controllerCount];
        for (int i = 0; i < controllerCount; i++)
        {
            instances[i] = new GvrControllerInputDevice(controllerProvider, i);
        }
        if (onDevicesChangedInternal != null)
        {
            onDevicesChangedInternal();
        }

        // Keep screen on here, since GvrControllerInput must be in any GVR scene in order to enable
        // controller capabilities.
        Screen.sleepTimeout = SleepTimeout.NeverSleep;
    }
示例#3
0
 /// <summary>
 /// Sets the IControllerProvider to use.
 /// </summary>
 /// <param name="controllerProvider"></param>
 public static void SetControllerProvider(IControllerProvider controllerProvider)
 {
     if (navigator == null)
     {
         navigator = new Navigator(controllerProvider);
     }
 }
        private static XtraBinding CreateXtraBindingSource(XOTableContext TableContext, IControllerProvider ControllerProvider, XtraBindingChildProperties ChildProperties)
        {
            object dataSource = ControllerProvider.GetDataSource(TableContext.XOTable);

            DataAvail.Data.DataAdapter.IDataAdapter dataAdapter = ControllerProvider.GetDataAdapter(TableContext.XOTable);

            DataAvail.XtraBindings.XtraBindingOperation oper = new DataAvail.XtraBindings.XtraBindingOperation(dataSource, dataAdapter, ControllerProvider.GetObjectCalculator(TableContext.XOTable));

            XtraBinding xtraBinding = null;

            if (TableContext.ShownChildrenRelations.Count() > 0)
            {
                xtraBinding = new DataAvail.XtraBindings.XtraBindingContainer(dataSource, oper);

                foreach (XORelation rel in TableContext.ShownChildrenRelations)
                {
                    DataAvail.XtraBindings.XtraBinding childBinding = CreateXtraBindingSource(rel.ChildTable.CreateTableChildContext(TableContext.Fields.First(p=>p.Name == rel.ParentField.Name)), ControllerProvider, new XtraBindingChildProperties(
                        xtraBinding, rel.ParentTable.Name, rel.ParentField.Name, rel.ChildTable.Name, rel.ChildField.Name));

                    ((XtraBindingContainer)xtraBinding).Children.Add((XtraBindingChild)childBinding);
                }
            }
            else if (ChildProperties != null)
            {
                xtraBinding = new DataAvail.XtraBindings.XtraBindingChild(dataSource, oper, ChildProperties);
            }
            else
            {
                xtraBinding = new XtraBinding(dataSource, oper);
            }

            return xtraBinding;
        }
示例#5
0
        public override void Initialize(IControllerProvider args)
        {
            base.Initialize(args);
            State = SubsystemState.Initialization;
            StartCoroutine(LoadStoryInfo());

            EventManager.Instance.AddEventListener <PlayerPreSaveArchiveEvent>(OnPlayerPreSaveArchive);
            EventManager.Instance.AddEventListener <PlayerLoadArchiveEvent>(OnPlayerLoadArchive);
        }
示例#6
0
 void Awake()
 {
     instance = GetComponent <I3vrController>();
     if (controllerProvider == null)
     {
         controllerProvider = ControllerProviderFactory.CreateControllerProvider();
     }
     Screen.sleepTimeout = SleepTimeout.NeverSleep;
 }
示例#7
0
文件: WebSite.cs 项目: radtek/Thingy
 public WebSite(IViewProvider viewProvider, IControllerProviderFactory controllerProviderFactory, IController[] controllers, string name, int portNumber, string path)
 {
     this.Name               = name;
     this.PortNumber         = portNumber;
     this.path               = path;
     this.controllerProvider = controllerProviderFactory.Create(controllers.Where(c => c.GetType().Namespace.EndsWith(name)).ToArray());
     this.ViewProvider       = viewProvider;
     IsDefault               = false;
     Priority       = Priorities.Normal;
     DefaultWebPage = "index.html";
 }
示例#8
0
        public ControllerFactoryProvider(IControllerProvider controllerProvider, IControllerFactory controllerFactory = null)
        {
            if (controllerProvider == null)
            {
                throw new ArgumentNullException(nameof(controllerProvider));
            }

            _controllerCollection = controllerProvider.GetControllerCollection();

            _controllerFactory = controllerFactory ?? new ControllerFactory(); // 如果没有指定的IControllerFactory,则使用默认的ControllerFactory
        }
 public void Generate(IControllerProvider provider)
 {
     foreach (var table in this._databaseDefinition.Tables)
     {
         var code     = provider.GenerateControllerFile(this._namespace, table);
         var fileName = $"{Utilities.String.ToLeadingUpper(table.Name)}Controller.{provider.FileExtension}";
         if (!string.IsNullOrWhiteSpace(code))
         {
             var fileLoc = Path.Combine(_directory, fileName);
             File.WriteAllText(fileLoc, code);
             this.OnFileGenerated?.Invoke(fileLoc);
         }
     }
 }
示例#10
0
        public override void Initialize(IControllerProvider args)
        {
            base.Initialize(args);
            ArchivePreviewData = Data.LocalCacheManager.GetData <PlayerArchivePreviewData>();
            if (ArchivePreviewData == null)
            {
                ArchivePreviewData = new PlayerArchivePreviewData();
            }

            if (ArchivePreviewData.ArchivePreviewData == null)
            {
                ArchivePreviewData.ArchivePreviewData = new List <ArchivePreviewData>();
            }
            SortArchivePreViewData();
        }
示例#11
0
 void Awake()
 {
     if (instance != null)
     {
         Debug.LogError("More than one GvrController instance was found in your scene. "
                        + "Ensure that there is only one GvrController.");
         this.enabled = false;
         return;
     }
     instance = this;
     if (controllerProvider == null)
     {
         controllerProvider = ControllerProviderFactory.CreateControllerProvider(this);
     }
 }
示例#12
0
        public DaydreamController(DaydreamControllerManager owner, string name) : base(name)
        {
            m_State = new ControllerState();
            //
#if UNITY_EDITOR || UNITY_STANDALONE
            // Use the Controller Emulator.
            m_ControllerProvider = new EmulatorControllerProvider((GvrController.EmulatorConnectionMode)owner.emulatorConnectionMode, owner.enableGyro,
                                                                  owner.enableAccel);
#elif UNITY_ANDROID
            // Use the GVR C API.
            m_ControllerProvider = new AndroidNativeControllerProvider(owner.enableGyro, owner.enableAccel);
#else
            // Platform not supported.
            Debug.LogWarning("No controller support on this platform.");
            m_ControllerProvider = new DummyControllerProvider();
#endif
        }
示例#13
0
    void Awake()
    {
        if (instance != null)
        {
            Debug.LogError("More than one GvrController instance was found in your scene. "
                           + "Ensure that there is only one GvrControllerInput.");
            this.enabled = false;
            return;
        }
        instance = this;
        if (controllerProvider == null)
        {
            controllerProvider = ControllerProviderFactory.CreateControllerProvider(this);
        }

        // Keep screen on here, since GvrController must be in any GVR scene in order to enable
        // controller capabilities.
        Screen.sleepTimeout = SleepTimeout.NeverSleep;
    }
示例#14
0
 internal GvrControllerInputDevice(IControllerProvider provider, int controller_id)
 {
     controllerProvider = provider;
     controllerId       = controller_id;
     valid = true;
 }
示例#15
0
    void Awake()
    {
        if (instance != null) {
          Debug.LogError("More than one GvrController instance was found in your scene. "
          + "Ensure that there is only one GvrController.");
          this.enabled = false;
          return;
        }
        instance = this;
        if (controllerProvider == null) {
          controllerProvider = ControllerProviderFactory.CreateControllerProvider(this);
        }

        // Keep screen on here, in case there isn't a GvrViewerMain prefab in the scene.
        // This ensures the behaviour for:
        //   (a) Cardboard apps on pre-integration Unity versions - they must have GvrViewerMain in a scene.
        //   (b) Daydream apps - these must be on GVR-integrated Unity versions, and must have GvrControllerMain.
        // Cardboard-only apps on the native integration are likely to have GvrViewerMain in their scene; otherwise,
        // the line below can be added to any script of the developer's choice.
        Screen.sleepTimeout = SleepTimeout.NeverSleep;

        #if OVERRIDE_GVR_WITH_OPENVR
        gameObject.AddComponent<SteamVR_TrackedControllerExtended>();
        gameObject.AddComponent<SteamVR_TrackedObjectExtended>();
        openVRController = gameObject.AddComponent<GvrOpenVRController>();
        #endif
    }
示例#16
0
 public override void Initialize(IControllerProvider args)
 {
     base.Initialize(args);
     State = SubsystemState.Initialization;
     StartCoroutine(LoadStoryInfo());
 }
示例#17
0
 /// <summary>
 /// Initializes Navigator instance
 /// </summary>
 /// <param name="controllerProvider">Instance of the IControllerProvider</param>
 public Navigator(IControllerProvider controllerProvider)
 {
     this.controllerProvider = controllerProvider;
     this.history            = new NavigationHistory();
 }
示例#18
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            var outputDir = txt_outputDir.Content.ToString();

            if (!Directory.Exists(outputDir))
            {
                MessageBox.Show("You must select an output directory before trying to generate!");
                return;
            }
            btn_Generate.IsEnabled = false;
            var connectionString = txt_connectionString.Text;
            var @namespace       = txt_namespace.Text;

            if (string.IsNullOrWhiteSpace(connectionString))
            {
                Log("Connection string is not provide, process aborted.");
            }
            Log($"Start generate with settings : mode : {mode} | language : {language}");
            Task.Run(async() =>
            {
                try
                {
                    DatabaseDefinition databaseDefinition = GetDatabaseDefinition(connectionString);
                    switch (mode)
                    {
                    case SupportMode.Model:
                        var provider = language switch
                        {
                            SupportLanguage.CSharp => CSharpModelProvider.Context,
                            SupportLanguage.TypeScript => TypeScriptModelProvider.Context,
                            SupportLanguage.VisualBasic => VisualBasicModelProvider.Context,
                            _ => throw new NotSupportedException()
                        };
                        var modelGenerator              = new ModelBuilder(outputDir, @namespace, databaseDefinition);
                        modelGenerator.OnFileGenerated += (f) => Log($"Generated {f}");
                        modelGenerator.Generate(provider);

                        break;

                    case SupportMode.FrontendService:
                        var consumerServiceProvider = language switch
                        {
                            SupportLanguage.CSharp => CSharpConsumerServiceProvider.Context,
                            SupportLanguage.TypeScript => TypescriptServiceProvider.Context,
                            _ => throw new NotSupportedException()
                        };
                        var consumerGenerator              = new ServiceBuilder(outputDir, @namespace, databaseDefinition);
                        consumerGenerator.OnFileGenerated += (f) => Log($"Geenrated {f}");
                        consumerGenerator.Generate(consumerServiceProvider);
                        break;

                    case SupportMode.BackendService:
                        IServiceBuilderProvider serviceProvider = language switch
                        {
                            SupportLanguage.CSharp => CSharpServiceProvider.Context,
                            _ => throw new NotSupportedException()
                        };
                        var serviceGenerator              = new ServiceBuilder(outputDir, @namespace, databaseDefinition);
                        serviceGenerator.OnFileGenerated += (f) => Log($"Generated {f}");
                        serviceGenerator.Generate(serviceProvider);
                        //GeneratorFactory.PerformRepositoryGenerate(targetLanguage, targetDatabaseConnector, txt_connectionString.Text, outputDir, txt_namespace.Text);
                        break;

                    case SupportMode.Controller:
                        IControllerProvider controllerProvider = language switch
                        {
                            SupportLanguage.CSharp => CSharpControllerProvider.Context,
                            _ => throw new NotSupportedException()
                        };
                        var controllerGenerator              = new ControllerBuilder(outputDir, @namespace, databaseDefinition);
                        controllerGenerator.OnFileGenerated += (f) => Log($"Generated {f}");
                        controllerGenerator.Generate(controllerProvider);
                        break;
                    }
                    Log($"All tasks are done.");
                    Process.Start("explorer.exe", outputDir);
                }
                catch (Exception ex)
                {
                    Log($"Error with message : {ex.Message}");
                }
            });
            btn_Generate.IsEnabled = true;
        }
示例#19
0
 public ControllerMiddleware(IServiceProvider provider, IControllerProvider controllerProvider, ILogger <ControllerMiddleware> logger)
 {
     this.logger             = logger;
     this._serviceprovider   = provider;
     this.controllerProvider = controllerProvider;
 }
 public override void Initialize(IControllerProvider args)
 {
     base.Initialize(args);
     InitBarrageInfo();
 }
示例#21
0
 void Awake() {
   if (instance != null) {
     Debug.LogError("More than one GvrController instance was found in your scene. "
         + "Ensure that there is only one GvrController.");
     this.enabled = false;
     return;
   }
   instance = this;
   if (controllerProvider == null) {
     controllerProvider = ControllerProviderFactory.CreateControllerProvider(this);
   }
 }
示例#22
0
        //TODO: Why you use this Public constructors in case of the Singleton

        /// <summary>
        /// Initializes Navigator instance
        /// </summary>
        public Navigator()
        {
            this.controllerProvider = new DefaultControllerProvider();
            this.history            = new NavigationHistory();
        }
 public static Controller CreateController(XOTableContext TableContext, IControllerProvider ControllerProvider, Func<XtraBinding, XOTableContext, Controller> CreateControllerInstanceFunc)
 {
     return CreateControllerInstanceFunc.Invoke(CreateXtraBindingSource(TableContext, ControllerProvider, null), TableContext);
 }
示例#24
0
 public override void Initialize(IControllerProvider args)
 {
     base.Initialize(args);
     EventManager.Instance.AddEventListener <PlayerPreSaveArchiveEvent>(OnPlayerPreSaveArchive);
     EventManager.Instance.AddEventListener <PlayerLoadArchiveEvent>(OnPlayerLoadArchive);
 }
        public AuthorizationMiddleware(IControllerProvider controllerProvider, ILogger <AuthorizationMiddleware> logger)
        {
            this.logger = logger;

            this.controllerProvider = controllerProvider;
        }
示例#26
0
 public virtual void Initialize(IControllerProvider args)
 {
     Args  = args;
     State = SubsystemState.Initialized;
 }