public void OnGUI()
 {
     foreach (TerraEntityTypeSO entityTypeSO in TerraGameResources.Instance.TerraEntityPrefabConfig.DataConfig)
     {
         ITerraEntityType entityType = entityTypeSO.Data;
         if (GUILayout.Button($"Create {entityType.EntityID}"))
         {
             CreateEntity(entityType);
         }
     }
 }
        public RuntimeTerraEntity CreateEntity(ITerraEntityType entityType)
        {
            TerraEntity     newEntity = new TerraEntity();
            AssembledEntity assembled = new AssembledEntity(newEntity);

            newEntity.EntityID = entityType.EntityID;
            _db.Write(newEntity, TerraEntity.Serializer, TerraEntity.WherePrimaryKey);
            RuntimeTerraEntity runtimeTerraEntity = new RuntimeTerraEntity(assembled, _db);

            return(runtimeTerraEntity);
        }
Example #3
0
        public RuntimeTerraEntity GetEntity(ITerraEntityType type)
        {
            foreach (RuntimeTerraEntity entity in _entities)
            {
                if (entity.EntityTypeData.EntityID == type.EntityID)
                {
                    return(entity);
                }
            }

            return(null);
        }
        private void CreateEntity(ITerraEntityType type)
        {
            RuntimeTerraEntity     entity = Game.Instance.GetService <TerraEntitesService>().CreateEntity(type);
            TerraEntitiesViewModel vm     = Game.Instance.GetViewModel <TerraEntitiesViewModel>(0);
            RuntimeTerraEntity     player = vm.GetEntity(TerraGameResources.Instance.TerraEntityPrefabConfig.PlayerConfig.Data);

            if (player != null)
            {
                entity.Position.Set(new Vector3(player.Position.Data.x, player.Position.Data.y + 2,
                                                player.Position.Data.z));
            }

            vm.AddEntity(entity);
        }
Example #5
0
        public TerraEntityTypeData GetEntityConfig(ITerraEntityType type)
        {
            TerraEntityTypeData config = null;

            foreach (TerraEntityTypeSO go in DataConfig)
            {
                if (go.Data.EntityID == type.EntityID)
                {
                    config = go.Data;
                    break;
                }
            }

            return(config);
        }