/// <summary> /// When a viewitem has been selected for a given index, store in the viewlayout. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnViewItemChanged(object sender, EventArgs e) { if (ignoreSetting == false) { int ix = comboBoxViewItemIx.SelectedIndex; if (ix < 0) { MessageBox.Show("Select the index first"); } else { GuidTag tag = (GuidTag)comboBoxViewItemType.SelectedItem; if (tag != null) { if (tag.Builtin) { Dictionary <String, String> properties = new Dictionary <string, string>(); properties.Add("CameraId", Guid.NewGuid().ToString()); // add an id (Invalid right now) - For CametaViewItem properties.Add("URL", "www.google.com"); // Next 4 for a HTML item properties.Add("HideNavigationbar", "true"); properties.Add("Scaling", "3"); // fit in 800x600 //properties.Add("Addscript", ""); _viewAndLayoutItem.InsertBuiltinViewItem(ix, tag.Guid, properties); } else { Dictionary <String, String> properties = new Dictionary <string, string>(); _viewAndLayoutItem.InsertViewItemPlugin(ix, viewItemPlugins[tag.Guid], properties); } } } } }
public T Get <T>(Guid id) where T : EntityComponent, new() { Database <GuidTag <T> > database = databaseProvider.GetDatabase <GuidTag <T> >(universeGuid, false); var tag = new GuidTag <T>(id); return(Serializer.Deserialize <T>(database.GetValue(tag).Content)); }
public void Remove <T>(Entity entity) where T : EntityComponent { Database <GuidTag <T> > database = databaseProvider.GetDatabase <GuidTag <T> >(universeGuid, false); var tag = new GuidTag <T>(entity.Id); using (database.Lock(Operation.Write)) database.Remove(tag); }
public void AddOrUpdate <T>(T value, Entity entity) where T : EntityComponent { Database <GuidTag <T> > database = databaseProvider.GetDatabase <GuidTag <T> >(universeGuid, false); var tag = new GuidTag <T>(entity.Id); using (database.Lock(Operation.Write)) database.AddOrUpdate(tag, new Value(Serializer.Serialize(value))); }
public Entity Get(GuidTag <Entity> key) { EntityDefinition definition = entityDefinitionContext.Get(new GuidTag <EntityDefinition>(key.Tag)); var entity = (Entity)Activator.CreateInstance(definition.Type); entity.Id = definition.Id; foreach (Type component in definition.Components) { MethodInfo genericMethod = getComponentMethod.MakeGenericMethod(component); entity.Components.AddComponent((EntityComponent)genericMethod.Invoke(componentsDbContext, new object[] { entity })); } return(entity); }