コード例 #1
0
 public MouseOverBlock(WorldPosition position, WorldManager manager, Map map, PlayerAvatar parent)
     : base(position, manager)
 {
     this.parent = parent;
     this.map = map;
     this.HasFixedPosition = false;
 }
コード例 #2
0
ファイル: Entity.cs プロジェクト: rodya-mirov/Voxelist
        protected Entity(WorldPosition position, WorldManager manager)
        {
            this.WorldManager = manager;
            this.Position = position;

            this.GroundFrictionScale_Experienced = 100f;
            this.GroundFrictionVelocity_Experienced = Vector3.Zero;

            this.DragVelocityExperienced = Vector3.Zero;
        }
コード例 #3
0
        protected override Entity makeEntity(EntitySchema schema, int chunkX, int chunkZ, WorldManager manager)
        {
            WorldPosition position = new WorldPosition(
                chunkX, chunkZ, schema.inChunkX, schema.inChunkY, schema.inChunkZ);

            switch (schema.TypeID)
            {
                case 0:
                    return new ScootBlock(position, manager);

                case 1:
                    return new SceneryEntity(position, manager);

                default: throw new NotImplementedException();
            }
        }
コード例 #4
0
 public BillboardSetPiece(WorldPosition position, WorldManager manager)
     : base(position, manager)
 {
 }
コード例 #5
0
ファイル: ChunkCache.cs プロジェクト: rodya-mirov/Voxelist
        public IEnumerable<Entity> GenerateAvailableEntities(int chunkX, int chunkZ, WorldManager manager)
        {
            lock (CacheLock)
            {
                //the following is a big block of checks to avoid
                if (!IsReady(chunkX, chunkZ))
                    yield break;

                int dist = Math.Abs(chunkX - IntendedCenterX) + Math.Abs(chunkZ - IntendedCenterZ);
                if (dist > EntitySpawnRadius)
                    yield break;

                CacheData dat = this[chunkX, chunkZ];

                if (dat.EntitiesSpawned)
                    yield break;

                dat.Spawn();

                foreach (Entity e in dat.Chunk.MakeGeneratedEntities(manager))
                    yield return e;
            }
        }
コード例 #6
0
ファイル: EntityBuilder.cs プロジェクト: rodya-mirov/Voxelist
 protected abstract Entity makeEntity(EntitySchema schema, int chunkX, int chunkZ, WorldManager manager);
コード例 #7
0
ファイル: EntityBuilder.cs プロジェクト: rodya-mirov/Voxelist
 public static Entity MakeEntity(EntitySchema schema, int chunkX, int chunkZ, WorldManager manager)
 {
     return instance.makeEntity(schema, chunkX, chunkZ, manager);
 }
コード例 #8
0
 protected override Entity makeEntity(EntitySchema schema, int chunkX, int chunkZ, WorldManager manager)
 {
     throw new NotImplementedException();
 }
コード例 #9
0
ファイル: ScootBlock.cs プロジェクト: rodya-mirov/Voxelist
 public ScootBlock(WorldPosition position, WorldManager manager)
     : base(position, manager)
 {
     intendedVelocity = new Vector3(1.5f, 0, 0);
 }
コード例 #10
0
ファイル: WorldRenderer.cs プロジェクト: rodya-mirov/Voxelist
 public WorldRenderer(Game game, WorldManager manager)
     : base(game)
 {
     WorldManager = manager;
 }
コード例 #11
0
ファイル: SceneryEntity.cs プロジェクト: rodya-mirov/Voxelist
 public SceneryEntity(WorldPosition pos, WorldManager manager)
     : base(pos, manager)
 {
 }
コード例 #12
0
ファイル: Map.cs プロジェクト: rodya-mirov/Voxelist
 /// <summary>
 /// Generates all available (that is, within spawn range but not yet spawned)
 /// entities.
 /// </summary>
 /// <returns></returns>
 public IEnumerable<Entity> GenerateAllAvailableEntities(WorldManager manager)
 {
     for (int x = CenterChunkX - EntitySpawnRadius; x <= CenterChunkX + EntitySpawnRadius; x++)
     {
         for (int z = CenterChunkZ - EntitySpawnRadius; z <= CenterChunkZ + EntitySpawnRadius; z++)
         {
             foreach (Entity e in Cache.GenerateAvailableEntities(x, z, manager))
                 yield return e;
         }
     }
 }
コード例 #13
0
ファイル: Chunk.cs プロジェクト: rodya-mirov/Voxelist
 public IEnumerable<Entity> MakeGeneratedEntities(WorldManager manager)
 {
     foreach (EntitySchema schema in entitySchemata)
         yield return EntityBuilder.MakeEntity(schema, chunkX, chunkZ, manager);
 }
コード例 #14
0
ファイル: PlayerAvatar.cs プロジェクト: rodya-mirov/Voxelist
 public PlayerAvatar(WorldPosition position, WorldManager manager)
     : base(position, manager)
 {
 }