private void OnTriggerEnter(Collider other) { // Once we pass through the LayerConverter we are in the box. So after setting a few key parameter // we then parent the FactoryObject to the container and make our RB kinematic. // This ensures that the ball will not fly out of the box if moved too quickly for the physics simulation if (other.gameObject.tag == "LayerConverter") { // Added for when the Object is dropped in a container FactoryContainer fCon = other.transform.root.GetComponent <FactoryContainer>(); if (fCon != null) { DropObjectInContainer(fCon); } //if (fCon != null) //{ // Debug.LogWarning("Factory Container Detected"); // fCon.ActivatePlaceHolderFactoryObj(); // fCon.IsFilled = true; // fCon.UpdateCheckList(); // // Send this Factory Object back to the Factory object "pool" // this.Initialize(); //} //// todo play sound? //// Disable Interaction item //m_interaction.enabled = false; //m_rigid.useGravity = false; //m_rigid.isKinematic = true; //m_rigid.constraints = RigidbodyConstraints.None; ////UpdateCheckList(); } }
private void CreateDataSource(FactoryContainer fc) { if (fc.Factory.Title == null) { return; } BarCheckItem bci = new BarCheckItem(barManager1, fc.Factory.FactoryId == activeProvider); bci.Manager = barManager1; bci.CheckStyle = BarCheckStyles.Radio; bci.GroupIndex = 1; bci.CheckBoxVisibility = CheckBoxVisibility.BeforeText; //bci.Caption = fc.Factory.Title; bci.Enabled = fc.FactorySetting.Status != DataProviderFactoryStatus.Disabled; if (fc.Factory.SmallImage != null) { string imageName = fc.Factory.FactoryId + "_small"; FactoriesImagesSmall.AddImage(fc.Factory.SmallImage, imageName); bci.Caption = string.Format($"<image={imageName}>{fc.Factory.Title}"); bci.AllowHtmlText = DefaultBoolean.True; } bci.ItemClick += (s, e) => { bci.Checked = true; LoadFactory(fc); }; bsiDataProviders.AddItem(bci); }
private static ISerializer GetSerializer() { var container = new FactoryContainer <Type, JsonConverter>(); container.AddFactory(new DynamicCombinatorConverters()); container.AddFactory(new DataModelConverters()); return(new JSerializer(container)); }
void RegisterFactories() { FactoryContainer container = FactoryContainer.Instance; container.Register <BombFactory>(); container.Register <PlayerFactory>(); container.Register <Enemy1Factory>(); container.Register <Enemy2Factory>(); }
public XtraFormLogGrid() { InitializeComponent(); _messages = new List <AnalogyLogMessage>(); _dataSource = "Analogy"; FactoryContainer analogy = FactoriesManager.Instance.GetBuiltInFactoryContainer(AnalogyBuiltInFactory.AnalogyGuid); var analogyDataProvider = analogy.DataProvidersFactories.First().DataProviders.First(); ucLogs1.SetFileDataSource(analogyDataProvider, null); }
E_ScanStatus ScanItem(GameObject Obj, EFactoryType objType) { FactoryContainer fObj = null; switch (objType) { // Automatic Scan fail for scanning a FactoryObject by itselt case EFactoryType.FactoryObject: StartCoroutine(RestartFactoryObjectLifeCycle(Obj, EFactoryType.FactoryObject)); ScanFailed.Raise(); return(E_ScanStatus.Fail); case EFactoryType.FactoryContainer: fObj = Obj.GetComponent <FactoryContainer>(); if (fObj != null) { Debug.LogWarning("FACTORY CONTAINER COMPONENT FOUND"); // that need to be checked to see if passes inspection for (int i = 0; i < fObj.CheckList.Length; i++) { if (fObj.CheckList[i]) { continue; } else { StartCoroutine(RestartFactoryObjectLifeCycle(fObj.gameObject, EFactoryType.FactoryContainer)); ScanFailed.Raise(); return(E_ScanStatus.Fail); } } //print("Success"); // If all items of the checklist pass then the scan is successful StartCoroutine(RestartFactoryObjectLifeCycle(fObj.gameObject, EFactoryType.FactoryContainer)); ScanPassed.Raise(); return(E_ScanStatus.Pass); } else { Debug.LogWarning("NO FACTORY CONTAINER FOUND"); } fObj.CanMove = false; return(E_ScanStatus.Fail); default: // If there is no FactoryObject Component attached then send an error Debug.LogWarning("No FactoryObject Component found in ScanItem"); fObj.CanMove = false; return(E_ScanStatus.Fail); } }
public GameObject GrabUnusedFactoryContainer() { foreach (GameObject go in m_pooledFactoryContainers) { FactoryContainer fCon = go.GetComponent <FactoryContainer>(); // If our GameObject has a FactoryObject Component and is not in use then return it if (fCon && !fCon.IsInUse) { return(go); } } // All objects are in use, return null return(null); }
public FactoriesManager() { Factories = new List <FactoryContainer>(); BuiltInFactories = new List <FactoryContainer>(); var analogyFactory = new AnalogyBuiltInFactory(); var currentAssembly = Assembly.GetExecutingAssembly(); var analogyFactorySetting = UserSettingsManager.UserSettings.GetOrAddFactorySetting(analogyFactory); analogyFactorySetting.FactoryName = analogyFactory.Title; FactoryContainer fc = new FactoryContainer(currentAssembly, analogyFactory, analogyFactorySetting); fc.AddDataProviderFactory(new AnalogyOfflineDataProviderFactory()); fc.AddCustomActionFactory(new AnalogyCustomActionFactory()); BuiltInFactories.Add(fc); }
public PluginManager(Type factoryType, string pluginPath) { Log.Debug("PluginManager<{0}> Initialized", factoryType.Name); try { factoryContainer = new FactoryContainer(factoryType, LoadAssemblies(pluginPath)); Log.Info("\t** Loaded `{0}' {1} plugins", factoryContainer.Count, factoryType.Name); } catch (ReflectionTypeLoadException ex) { ShowDomainInfo(); foreach (Exception e in ex.LoaderExceptions) { Log.Fatal(e); } throw; } }
public XtraFormLogGrid(bool registerToAnalogyLogger) { InitializeComponent(); _dataSource = "Analogy"; _messages = new List <AnalogyLogMessage>(); FactoryContainer analogy = FactoriesManager.Instance.GetBuiltInFactoryContainer(AnalogyBuiltInFactory.AnalogyGuid); var analogyDataProvider = analogy.DataProvidersFactories.First().DataProviders.First(); AnalogyLogManager.Instance.OnNewMessage += Instance_OnNewMessage; ucLogs1.SetFileDataSource(analogyDataProvider, null); if (registerToAnalogyLogger) { AnalogyLogManager.Instance.OnNewMessage += Instance_OnNewMessage; } }
private void OnTriggerEnter(Collider other) { switch (other.gameObject.tag) { case "FactoryContainer": FactoryContainer fCon = other.gameObject.GetComponent <FactoryContainer>(); // Grab the third child in the Hierarchy and turn on the MeshRenderer other.gameObject.transform.GetChild(2).GetComponent <MeshRenderer>().enabled = true; other.gameObject.transform.GetChild(2).GetComponent <MeshCollider>().isTrigger = false; fCon.IsTopped = true; fCon.UpdateCheckList(); break; default: break; } }
public FactoriesManager() { Factories = new List <FactoryContainer>(); BuiltInFactories = new List <FactoryContainer>(); var analogyFactory = new AnalogyBuiltInFactory(); analogyFactory.RegisterNotificationCallback(NotificationManager.Instance); var currentAssembly = Assembly.GetExecutingAssembly(); var analogyFactorySetting = UserSettingsManager.UserSettings.GetOrAddFactorySetting(analogyFactory); analogyFactorySetting.FactoryName = analogyFactory.Title; FactoryContainer fc = new FactoryContainer(currentAssembly, Environment.CurrentDirectory, analogyFactory, analogyFactorySetting); fc.AddDataProviderFactory(new AnalogyOfflineDataProviderFactory()); fc.AddCustomActionFactory(new AnalogyCustomActionFactory()); BuiltInFactories.Add(fc); }
void DropObjectInContainer(FactoryContainer targetContainer) { Debug.LogWarning("Factory Container Detected"); targetContainer.ActivatePlaceHolderFactoryObj(); targetContainer.IsFilled = true; targetContainer.UpdateCheckList(); // Send this Factory Object back to the Factory object "pool" this.Initialize(); // todo play sound? // Disable Interaction item m_interaction.enabled = false; m_rigid.useGravity = false; m_rigid.isKinematic = true; m_rigid.constraints = RigidbodyConstraints.None; //UpdateCheckList(); }
void MessageFun(string messageKey, object param1, object param2) { if (messageKey.CompareTo(Hi5_Glove_Interaction_Message.Hi5_MessageMessageKey.messageObjectEvent) == 0) { Hi5_Glove_Interaction_Object_Event_Data data = param1 as Hi5_Glove_Interaction_Object_Event_Data; if (data.mObjectId == ObjectItem.idObject) { switch (data.mEventType) { case EEventObjectType.EClap: break; case EEventObjectType.EPoke: break; case EEventObjectType.EPinch: FactoryObject fObj = gameObject.GetComponent <FactoryObject>(); FactoryContainer fCon = gameObject.GetComponent <FactoryContainer>(); if (fObj) { fObj.CanMove = false; } if (fCon) { fCon.CanMove = false; fCon.TimerActive = false; } break; case EEventObjectType.EMove: break; case EEventObjectType.ELift: break; case EEventObjectType.EStatic: break; } } } }
private void CreateDataSource(FactoryContainer fc) { if (fc.Factory.Title == null) { return; } BarCheckItem bci = new BarCheckItem(barManager1, fc.Factory.FactoryId == activeProvider); bci.Manager = barManager1; bci.CheckBoxVisibility = CheckBoxVisibility.BeforeText; bci.Caption = fc.Factory.Title; bci.Enabled = fc.FactorySetting.Status != DataProviderFactoryStatus.Disabled; bci.Glyph = fc.Factory.SmallImage; bci.ItemClick += (s, e) => { bci.Checked = true; LoadFactory(fc); }; bsiDataProviders.AddItem(bci); }
public ComponentDownloadInformationUC(FactoryContainer factory) : this() { Factory = factory; DownloadInfo = Factory.DownloadInformation !; }
private async void FluentDesignMainForm_Load(object sender, EventArgs e) { if (DesignMode) { return; } activeProvider = settings.RememberLastOpenedDataProvider ? settings.LastOpenedDataProvider : UserSettingsManager.UserSettings.InitialSelectedDataProvider; if (settings.AnalogyPosition.RememberLastPosition || settings.AnalogyPosition.WindowState != FormWindowState.Minimized) { WindowState = settings.AnalogyPosition.WindowState; if (WindowState != FormWindowState.Maximized) { if (Screen.AllScreens.Any(s => s.WorkingArea.Contains(settings.AnalogyPosition.Location))) { Location = settings.AnalogyPosition.Location; Size = settings.AnalogyPosition.Size; } else { AnalogyLogger.Instance.LogError("", $"Last location {settings.AnalogyPosition.Location} is not inside any screen"); } } } string framework = UpdateManager.Instance.CurrentFrameworkAttribute.FrameworkName; Text = $"Analogy Log Viewer {UpdateManager.Instance.CurrentVersion} ({framework})"; Icon = settings.GetIcon(); notifyIconAnalogy.Visible = preventExit = settings.MinimizedToTrayBar; await FactoriesManager.Instance.InitializeBuiltInFactories(); string[] arguments = Environment.GetCommandLineArgs(); disableOnlineDueToFileOpen = arguments.Length == 2; SetupEventHandlers(); bbiFileCaching.Caption = "File caching is " + (settings.EnableFileCaching ? "on" : "off"); bbiFileCaching.Appearance.BackColor = settings.EnableFileCaching ? Color.LightGreen : Color.Empty; //todo: //CreateAnalogyBuiltinDataProviders FactoryContainer analogy = FactoriesManager.Instance.GetBuiltInFactoryContainer(AnalogyBuiltInFactory.AnalogyGuid); CreateDataSource(analogy); await FactoriesManager.Instance.AddExternalDataSources(); PopulateGlobalTools(); //LoadStartupExtensions(); //Create all other DataSources foreach (FactoryContainer factory in FactoriesManager.Instance.Factories .Where(factory => !FactoriesManager.Instance.IsBuiltInFactory(factory.Factory))) { CreateDataSource(factory); } if (OnlineSources.Any()) { TmrAutoConnect.Start(); } Initialized = true; //todo: fine handler for file if (arguments.Length == 2) { //todo string[] fileNames = { arguments[1] }; // await OpenOfflineFileWithSpecificDataProvider(fileNames); } else { TmrAutoConnect.Enabled = true; } if (settings.ShowChangeLogAtStartUp) { var change = new ChangeLog(); change.ShowDialog(this); } //todo:fix below if (settings.RememberLastOpenedDataProvider && Mapping.ContainsKey(settings.LastOpenedDataProvider)) { //ribbonControlMain.SelectPage(Mapping[settings.LastOpenedDataProvider]); } if (AnalogyLogManager.Instance.HasErrorMessages || AnalogyLogManager.Instance.HasWarningMessages) { bbtnErrors.Visibility = BarItemVisibility.Always; } if (!AnalogyNonPersistSettings.Instance.UpdateAreDisabled) { var(_, release) = await UpdateManager.Instance.CheckVersion(false); if (release?.TagName != null && UpdateManager.Instance.NewestVersion != null) { bbtnCheckUpdates.Caption = "Latest Version: " + UpdateManager.Instance.NewestVersion.ToString(); if (UpdateManager.Instance.NewVersionExist) { bbtnCheckUpdates.Appearance.BackColor = Color.GreenYellow; bbtnCheckUpdates.Caption = "New Version Available: " + UpdateManager.Instance.NewestVersion.ToString(); } } } else { AnalogyLogManager.Instance.LogWarning("Update is disabled", nameof(MainForm)); } if (settings.ShowWhatIsNewAtStartup) { WhatsNewForm f = new WhatsNewForm(); f.ShowDialog(this); settings.ShowWhatIsNewAtStartup = false; } }
private void LoadFactory(FactoryContainer fc) { if (activeProvider == fc.Factory.FactoryId) { return; } // RibbonPage ribbonPage = new RibbonPage(fc.Factory.Title); // ribbonControlMain.Pages.Insert(position, ribbonPage); // Mapping.Add(fc.Factory.FactoryId, ribbonPage); // var ribbonPageImage = FactoriesManager.Instance.GetSmallImage(fc.Factory.FactoryId); // if (ribbonPageImage != null) // { // ribbonPage.ImageOptions.Image = ribbonPageImage; // } // AddGraphPlotter(ribbonPage, fc.GraphPlotter); // var dataSourceFactory = fc.DataProvidersFactories; // foreach (var dataProvidersFactory in dataSourceFactory) // { // if (!string.IsNullOrEmpty(dataProvidersFactory.Title)) // { // CreateDataSourceRibbonGroup(fc.Factory, dataProvidersFactory, ribbonPage); // } // } // var actionFactories = fc.CustomActionsFactories; // foreach (var actionFactory in actionFactories.Where(af // => af.Actions.Any(a => a.Type == AnalogyCustomActionType.BelongsToProvider))) // { // if (string.IsNullOrEmpty(actionFactory.Title)) // { // continue; // } // RibbonPageGroup groupActionSource = new RibbonPageGroup(actionFactory.Title); // groupActionSource.AllowTextClipping = false; // ribbonPage.Groups.Add(groupActionSource); // if (actionFactory.Actions == null) // { // AnalogyLogManager.Instance.LogCritical($"null actions for {actionFactory.Title}:{actionFactory.FactoryId}", $"{actionFactory.Title}{actionFactory.FactoryId}"); // continue; // } // foreach (IAnalogyCustomAction action in actionFactory.Actions.Where(a => a.Type == AnalogyCustomActionType.BelongsToProvider)) // { // BarButtonItem actionBtn = new BarButtonItem // { // Caption = action.Title, // RibbonStyle = RibbonItemStyles.All // }; // groupActionSource.ItemLinks.Add(actionBtn); // actionBtn.ImageOptions.Image = action.SmallImage ?? Resources.PageSetup_32x32; // actionBtn.ImageOptions.LargeImage = action.LargeImage ?? Resources.PageSetup_32x32; // actionBtn.ItemClick += (sender, e) => { action.Action(); }; // } // } // AddFactorySettings(fc, ribbonPage); // AddAbout(fc, ribbonPage); }
public GameFactory(FactoryContainer container) { _container = container; }