/// <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);
                 }
             }
         }
     }
 }
Exemple #2
0
        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));
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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);
        }