public Networking(IEngineServer engineServer, IGlobalVars globals, IEngineModel engineModel, IEntityDictionary entityDictionary, ITrace trace) { EngineServer = engineServer ?? throw new ArgumentNullException(nameof(engineServer)); Globals = globals ?? throw new ArgumentNullException(nameof(globals)); EngineModel = engineModel ?? throw new ArgumentNullException(nameof(engineModel)); EntityDictionary = entityDictionary ?? throw new ArgumentNullException(nameof(entityDictionary)); Trace = trace ?? throw new ArgumentNullException(nameof(trace)); }
public Boolean Process(IEngineModel engineModel) { // Do all necessary prerequisite steps // Call Start on the model if model is not an external tool if (engineModel.Start()) return true; else return false; }
/// <summary> /// Attaches a video model to the list controlled by this manager. This will load the model from the content pipeline and link the sprite with the manager for drawing and updating. /// </summary> /// <param name="sprite"></param> public void Attach(IEngineModel model) { if (!modelList.Contains(model)) { model.Manager = this; model.Destroy = false; modelList.Add(model); } else Log.Write(this, "Model being added was already in list.", LogLevels.Warning); }
public Boolean Process(IEngineModel engineModel) { // Do some work with the source file using iComponent for configuration information return true; }
public void Attach(IEngineModel entity) { if (!modelList.Contains(entity)) modelList.Add(entity); else Log.Write(this, "Unable to attach 3D entity, was already found in the list of existing ones.", LogLevels.Warning); }
private Boolean processAdapter(XPathNavigator navEngineModel, IEngineModel engineModel, String adapterType, Int32 id, String link) { //////////////////////////////////////// // Adapter // //////////////////////////////////////// String engineModelAssembly = navEngineModel.GetAttribute("assembly", navEngineModel.NamespaceURI); // Get the name of the input adapter from config and create an InputAdapter XPathNavigator navAdapter = navEngineModel.SelectSingleNode(String.Format("Adapters/Adapter[@type='{0}']", adapterType)); //if (navAdapter == null) // return true; // for opt bug. String adapterName = navAdapter.GetAttribute("name", navAdapter.NamespaceURI); String adapterFullName = navAdapter.GetAttribute("fullname", navAdapter.NamespaceURI); IXPathNavigable iComponentAdapter = m_model.GetComponent(adapterName); ObjectHandle objAdapter; Boolean success = false; try { objAdapter = Activator.CreateInstance(engineModelAssembly, adapterFullName); IModelingAdapter adapter = (IModelingAdapter)objAdapter.Unwrap(); IXPathNavigable iNavigator = this.GetComponentAndChildren(id, link, new ComponentOptions()); XPathNavigator navigator = iNavigator.CreateNavigator(); XPathNavigator navigatorAdapter = navigator.SelectSingleNode(String.Format("Components/Component/Component[@BaseType='{0}']", adapterType)); if (navigatorAdapter != null) adapter.Component = navigatorAdapter; else adapter.Component = iComponentAdapter; adapter.ModelConfiguration = this.m_model.ModelConfiguration; success = adapter.Process(engineModel); } catch (TypeLoadException) { // What to do? } return success; }
public Boolean OutputAdapter(XPathNavigator navComponentSimType, String gmeAssemblyName, String projectAssemblyName, IEngineModel engineModel) { //////////////////////////////////////// // C. OutputAdapter // //////////////////////////////////////// // Get the name of the output adapter from config and create an OutputSimAdapter XPathNavigator navSubcomponentOutputAdapter = navComponentSimType.SelectSingleNode(String.Format("SubComponents/Component[@type='{0}']", "Output")); String outputAdapterName = navSubcomponentOutputAdapter.GetAttribute("name", navSubcomponentOutputAdapter.NamespaceURI); IXPathNavigable iComponentOutputAdapter = m_model.GetComponent(Configuration, outputAdapterName); String outputAdapterTypeName = projectAssemblyName + ".Adapters." + outputAdapterName; ObjectHandle objOutputSimAdapter; try { objOutputSimAdapter = Activator.CreateInstance(Assembly.GetEntryAssembly().GetName().Name, outputAdapterTypeName); } catch (TypeLoadException) { outputAdapterTypeName = outputAdapterTypeName.Replace(projectAssemblyName, gmeAssemblyName); // This needs to be changed in case project name is in the string twice objOutputSimAdapter = Activator.CreateInstance(gmeAssemblyName, outputAdapterTypeName); } IModelingAdapter outputAdapter = (IModelingAdapter)objOutputSimAdapter.Unwrap(); outputAdapter.Component = iComponentOutputAdapter; Boolean outputSuccess = outputAdapter.Process(engineModel); return outputSuccess; }
/// <summary> /// Marks a sprite to be removed on next update. This breaks the link between manager and sprite, it will no longer be drawn or updated. /// </summary> /// <param name="sprite"></param> public void Detatch(IEngineModel model) { model.Destroy = true; }
public virtual Boolean Process(IEngineModel engineModel) { return true; }