示例#1
0
        public void RemoveEntity(AssembledEntity entity)
        {
            TerraDBService db = Game.Instance.GetService <TerraDBService>();

            Entities.Remove(entity);
            OnRemoveEntity?.Invoke(new RuntimeTerraEntity(entity, db));
        }
示例#2
0
        public IEnumerator <RuntimeTerraEntity> GetEnumerator()
        {
            TerraDBService db = Game.Instance.GetService <TerraDBService>();

            foreach (AssembledEntity entity in Entities)
            {
                yield return(new RuntimeTerraEntity(entity, db));
            }
        }
        public RuntimeTerraEntity(AssembledEntity entity, TerraDBService db)
        {
            entity.TerraPosition3D.InstanceId = entity.TerraEntity.InstanceId;
            Position = new TerraPosition3DComponent(db, entity.TerraPosition3D);
            Entity   = entity.TerraEntity;

            Entity.OnLabelAdded   += (labelEntity, label) => OnLabelAdded?.Invoke(this, label);
            Entity.OnLabelRemoved += (labelEntity, label) => OnLabelRemoved?.Invoke(this, label);

            EntityTypeData = TerraGameResources.Instance.TerraEntityPrefabConfig.GetEntityConfig(this);
            DB             = db;
        }
 public TerraWorldDataStreamer(
     TerraWorldViewModel terraWorldViewModel,
     TerraWorldService terraWorldService,
     TerraChunkService terraChunkService,
     TerraEntitiesViewModel terraEntitiesViewModel,
     TerraDBService db)
 {
     _terraWorldViewModel    = terraWorldViewModel;
     _terraWorldService      = terraWorldService;
     _terraChunkService      = terraChunkService;
     _terraEntitiesViewModel = terraEntitiesViewModel;
     _db = db;
 }
示例#5
0
        public TerraView()
        {
            _terraWorldViewModel    = Game.Instance.GetViewModel <TerraWorldViewModel>(0);
            _terraEntitiesViewModel = Game.Instance.GetViewModel <TerraEntitiesViewModel>(0);
            _terraWorldService      = Game.Instance.GetService <TerraWorldService>();
            _terraChunkService      = Game.Instance.GetService <TerraChunkService>();
            _db = Game.Instance.GetService <TerraDBService>();

            _dataStreamers = new ViewDataStreamerGroup(new IDataStreamer[]
            {
                new TerraWorldDataStreamer(
                    _terraWorldViewModel,
                    _terraWorldService,
                    _terraChunkService,
                    _terraEntitiesViewModel,
                    _db
                    )
            });

            _terraWorldViewModel.OnWorldSet     += TerraWorldViewModelOnWorldSet;
            _terraEntitiesViewModel.OnAddEntity += TerraEntitiesViewModelOnAddEntity;
        }
 public AbstractEntityComponent(TerraDBService DB, TData Data)
 {
     this.DB = DB;
     _Data   = Data;
 }
 public TerraPosition3DComponent(TerraDBService DB, TerraPosition3D Data) : base(DB, Data)
 {
 }
示例#8
0
 public TerraWorldChunk(TerraPoint[,] points, TerraDBService db, TerraArea area) : base(points)
 {
     _db   = db;
     _area = area;
 }