本文整理汇总了C#中World.EnterWorld方法的典型用法代码示例。如果您正苦于以下问题:C# World.EnterWorld方法的具体用法?C# World.EnterWorld怎么用?C# World.EnterWorld使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类World
的用法示例。
在下文中一共展示了World.EnterWorld方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: RenderSetPiece
public void RenderSetPiece(World world, IntPoint pos)
{
var dat = world.Manager.GameData;
for (int x = 0; x < Size; x++)
for (int y = 0; y < Size; y++)
{
double dx = x - (Size / 2.0);
double dy = y - (Size / 2.0);
double r = Math.Sqrt(dx * dx + dy * dy) + rand.NextDouble() * 4 - 2;
if (r <= 10)
{
var tile = world.Map[x + pos.X, y + pos.Y].Clone();
tile.TileId = dat.IdToTileType[Floor]; tile.ObjType = 0;
world.Map[x + pos.X, y + pos.Y] = tile;
}
}
Entity lord = Entity.Resolve(world.Manager, "Phoenix Lord");
lord.Move(pos.X + 15.5f, pos.Y + 15.5f);
world.EnterWorld(lord);
Container container = new Container(world.Manager, 0x0501, null, false);
Item[] items = chest.GetLoots(world.Manager, 5, 8).ToArray();
for (int i = 0; i < items.Length; i++)
container.Inventory[i] = items[i];
container.Move(pos.X + 15.5f, pos.Y + 15.5f);
world.EnterWorld(container);
}
示例2: RenderSetPiece
public void RenderSetPiece(World world, IntPoint pos)
{
for (int x = 0; x < Size; x++)
for (int y = 0; y < Size; y++)
{
double dx = x - (Size / 2.0);
double dy = y - (Size / 2.0);
double r = Math.Sqrt(dx * dx + dy * dy) + rand.NextDouble() * 4 - 2;
if (r <= 10)
{
var tile = world.Map[x + pos.X, y + pos.Y].Clone();
tile.TileId = Floor; tile.ObjType = 0;
world.Obstacles[x + pos.X, y + pos.Y] = 0;
world.Map[x + pos.X, y + pos.Y] = tile;
}
}
Entity lord = Entity.Resolve(0x675);
lord.Move(pos.X + 15.5f, pos.Y + 15.5f);
world.EnterWorld(lord);
Container container = new Container(0x0501, null, false);
int count = rand.Next(5, 8);
List<Item> items = new List<Item>();
while (items.Count < count)
{
Item item = chest.GetRandomLoot(rand);
if (item != null) items.Add(item);
}
for (int i = 0; i < items.Count; i++)
container.Inventory[i] = items[i];
container.Move(pos.X + 15.5f, pos.Y + 15.5f);
world.EnterWorld(container);
}
示例3: RenderSetPiece
public void RenderSetPiece(World world, IntPoint pos)
{
Entity boss = Entity.Resolve(world.Manager, "shtrs Bridge Sentinel");
boss.Move(pos.X, pos.Y);
Entity chestSpawner = Entity.Resolve(world.Manager, "shtrs encounterchestspawner");
chestSpawner.Move(pos.X, pos.Y + 5f);
Entity blobombSpawner1 = Entity.Resolve(world.Manager, "shtrs blobomb maker");
blobombSpawner1.Move(pos.X, pos.Y + 5f);
Entity blobombSpawner2 = Entity.Resolve(world.Manager, "shtrs blobomb maker");
blobombSpawner2.Move(pos.X + 5f, pos.Y + 5f);
Entity blobombSpawner3 = Entity.Resolve(world.Manager, "shtrs blobomb maker");
blobombSpawner3.Move(pos.X - 5f, pos.Y + 5f);
world.EnterWorld(boss);
world.EnterWorld(chestSpawner);
world.EnterWorld(blobombSpawner1);
world.EnterWorld(blobombSpawner2);
world.EnterWorld(blobombSpawner3);
}
示例4: RenderSetPiece
public void RenderSetPiece(World world, IntPoint pos)
{
var t = new int[41, 41];
for (var i = 0; i < 5; i++)
{
double angle = (360/5*i)*(float) Math.PI/180;
var x_ = (int) (Math.Cos(angle)*15 + 20 - 3);
var y_ = (int) (Math.Sin(angle)*15 + 20 - 3);
for (var x = 0; x < 7; x++)
for (var y = 0; y < 7; y++)
{
t[x_ + x, y_ + y] = Circle[x, y];
}
t[x_ + 3, y_ + 3] = 2;
}
t[20, 20] = 3;
for (var x = 0; x < 40; x++)
for (var y = 0; y < 40; y++)
{
if (t[x, y] == 1)
{
var tile = world.Map[x + pos.X, y + pos.Y].Clone();
tile.TileId = Floor;
tile.ObjType = 0;
world.Obstacles[x + pos.X, y + pos.Y] = 0;
world.Map[x + pos.X, y + pos.Y] = tile;
}
else if (t[x, y] == 2)
{
var tile = world.Map[x + pos.X, y + pos.Y].Clone();
tile.TileId = Floor;
tile.ObjType = 0;
world.Obstacles[x + pos.X, y + pos.Y] = 0;
world.Map[x + pos.X, y + pos.Y] = tile;
var penta = Entity.Resolve(0x0d5e);
penta.Move(pos.X + x + .5f, pos.Y + y + .5f);
world.EnterWorld(penta);
}
else if (t[x, y] == 3)
{
var penta = Entity.Resolve(0x0d5f);
penta.Move(pos.X + x + .5f, pos.Y + y + .5f);
world.EnterWorld(penta);
}
}
}
示例5: RenderSetPiece
public void RenderSetPiece(World world, IntPoint pos)
{
int[,] t = new int[41, 41];
for (int i = 0; i < 5; i++)
{
double angle = (360/5*i)*(float) Math.PI/180;
int x_ = (int) (Math.Cos(angle)*15 + 20 - 3);
int y_ = (int) (Math.Sin(angle)*15 + 20 - 3);
for (int x = 0; x < 7; x++)
for (int y = 0; y < 7; y++)
{
t[x_ + x, y_ + y] = Circle[x, y];
}
t[x_ + 3, y_ + 3] = 2;
}
t[20, 20] = 3;
XmlData data = world.Manager.GameData;
for (int x = 0; x < 40; x++)
for (int y = 0; y < 40; y++)
{
if (t[x, y] == 1)
{
WmapTile tile = world.Map[x + pos.X, y + pos.Y].Clone();
tile.TileId = data.IdToTileType[Floor];
tile.ObjType = 0;
world.Map[x + pos.X, y + pos.Y] = tile;
}
else if (t[x, y] == 2)
{
WmapTile tile = world.Map[x + pos.X, y + pos.Y].Clone();
tile.TileId = data.IdToTileType[Floor];
tile.ObjType = 0;
world.Map[x + pos.X, y + pos.Y] = tile;
Entity penta = Entity.Resolve(world.Manager, 0x0d5e);
penta.Move(pos.X + x + .5f, pos.Y + y + .5f);
world.EnterWorld(penta);
}
else if (t[x, y] == 3)
{
Entity penta = Entity.Resolve(world.Manager, "Pentaract");
penta.Move(pos.X + x + .5f, pos.Y + y + .5f);
world.EnterWorld(penta);
}
}
}
示例6: RenderSetPiece
public void RenderSetPiece(World world, IntPoint pos)
{
var radius = rand.Next(Size - 5, Size + 1)/2;
var border = new List<IntPoint>();
var t = new int[Size, Size];
for (var y = 0; y < Size; y++)
for (var x = 0; x < Size; x++)
{
var dx = x - (Size/2.0);
var dy = y - (Size/2.0);
var r = Math.Sqrt(dx*dx + dy*dy);
if (r <= radius)
{
t[x, y] = 1;
if (radius - r < 1.5)
border.Add(new IntPoint(x, y));
}
}
var trees = new HashSet<IntPoint>();
while (trees.Count < border.Count*0.5)
trees.Add(border[rand.Next(0, border.Count)]);
foreach (var i in trees)
t[i.X, i.Y] = 2;
for (var x = 0; x < Size; x++)
for (var y = 0; y < Size; y++)
{
if (t[x, y] == 1)
{
var tile = world.Map[x + pos.X, y + pos.Y].Clone();
tile.TileId = Floor;
tile.ObjType = 0;
world.Obstacles[x + pos.X, y + pos.Y] = 0;
world.Map[x + pos.X, y + pos.Y] = tile;
}
else if (t[x, y] == 2)
{
var tile = world.Map[x + pos.X, y + pos.Y].Clone();
tile.TileId = Floor;
tile.ObjType = Tree;
tile.Name = "size:" + (rand.Next()%2 == 0 ? 120 : 140);
if (tile.ObjId == 0) tile.ObjId = world.GetNextEntityId();
world.Obstacles[x + pos.X, y + pos.Y] = 2;
world.Map[x + pos.X, y + pos.Y] = tile;
}
}
var ent = Entity.Resolve(0x091f);
ent.Size = 140;
ent.Move(pos.X + Size/2 + 1, pos.Y + Size/2 + 1);
world.EnterWorld(ent);
}
示例7: RenderSetPiece
public void RenderSetPiece(World world, IntPoint pos)
{
int radius = rand.Next(Size - 5, Size + 1) / 2;
List<IntPoint> border = new List<IntPoint>();
int[,] t = new int[Size, Size];
for (int y = 0; y < Size; y++)
for (int x = 0; x < Size; x++)
{
double dx = x - (Size / 2.0);
double dy = y - (Size / 2.0);
double r = Math.Sqrt(dx * dx + dy * dy);
if (r <= radius)
{
t[x, y] = 1;
if (radius - r < 1.5)
border.Add(new IntPoint(x, y));
}
}
HashSet<IntPoint> trees = new HashSet<IntPoint>();
while (trees.Count < border.Count * 0.5)
trees.Add(border[rand.Next(0, border.Count)]);
foreach (IntPoint i in trees)
t[i.X, i.Y] = 2;
XmlData dat = world.Manager.GameData;
for (int x = 0; x < Size; x++)
for (int y = 0; y < Size; y++)
{
if (t[x, y] == 1)
{
WmapTile tile = world.Map[x + pos.X, y + pos.Y].Clone();
tile.TileId = dat.IdToTileType[Floor];
tile.ObjType = 0;
world.Map[x + pos.X, y + pos.Y] = tile;
}
else if (t[x, y] == 2)
{
WmapTile tile = world.Map[x + pos.X, y + pos.Y].Clone();
tile.TileId = dat.IdToTileType[Floor];
tile.ObjType = dat.IdToObjectType[Tree];
tile.Name = "size:" + (rand.Next() % 2 == 0 ? 120 : 140);
if (tile.ObjId == 0) tile.ObjId = world.GetNextEntityId();
world.Map[x + pos.X, y + pos.Y] = tile;
}
}
Entity ent = Entity.Resolve(world.Manager, "Ent Ancient");
ent.Size = 140;
ent.Move(pos.X + Size / 2 + 1, pos.Y + Size / 2 + 1);
world.EnterWorld(ent);
}
示例8: RenderSetPiece
public void RenderSetPiece(World world, IntPoint pos)
{
var t = new int[5, 5];
t[0, 1] = 1;
t[0, 2] = 1;
t[0, 3] = 1;
t[1, 2] = 1;
t[2, 2] = 1;
t[3, 2] = 1;
t[4, 1] = 1;
t[4, 2] = 1;
t[4, 3] = 1;
t[2, 0] = 1;
t[2, 1] = 1;
t[2, 3] = 1;
t[2, 4] = 1;
t[1, 1] = 1;
t[1, 3] = 1;
t[3, 3] = 1;
t[3, 1] = 1;
t[1, 0] = 1;
t[3, 0] = 1;
t[1, 4] = 1;
t[3, 4] = 1;
for (var x = 0; x < 5; x++) //Rendering
for (var y = 0; y < 5; y++)
{
if (t[x, y] == 1)
{
var tile = world.Map[x + pos.X, y + pos.Y].Clone();
tile.TileId = Floor;
tile.ObjType = 0;
world.Obstacles[x + pos.X, y + pos.Y] = 0;
world.Map[x + pos.X, y + pos.Y] = tile;
}
}
var portal = Entity.Resolve(0x1733);
portal.Move(pos.X + 2.5f, pos.Y + 2.5f);
world.EnterWorld(portal);
}
示例9: RenderSetPiece
public void RenderSetPiece(World world, IntPoint pos)
{
XmlData dat = world.Manager.GameData;
IntPoint p = new IntPoint
{
X = pos.X - (Size / 2),
Y = pos.Y - (Size / 2)
};
for (int x = 0; x < Size; x++)
{
for (int y = 0; y < Size; y++)
{
if (SetPiece[y, x] == 1)
{
WmapTile tile = world.Map[x + p.X, y + p.Y].Clone();
tile.TileId = dat.IdToTileType["Red Quad"];
tile.ObjType = 0;
world.Map[x + p.X, y + p.Y] = tile;
}
if (SetPiece[y, x] == 2)
{
WmapTile tile = world.Map[x + p.X, y + p.Y].Clone();
tile.TileId = dat.IdToTileType["Red Quad"];
tile.ObjType = 0;
world.Map[x + p.X, y + p.Y] = tile;
Entity en = Entity.Resolve(world.Manager, "Realm Portal");
en.Move(x + p.X + 0.5f, y + p.Y + 0.5f);
world.EnterWorld(en);
}
}
}
}
示例10: RenderSetPiece
public void RenderSetPiece(World world, IntPoint pos)
{
var t = new int[27, 27];
var q = (int[,]) quarter.Clone();
for (var y = 0; y < 14; y++) //Top left
for (var x = 0; x < 14; x++)
t[x, y] = q[x, y];
q = SetPieces.reflectHori(q); //Top right
for (var y = 0; y < 14; y++)
for (var x = 0; x < 14; x++)
t[13 + x, y] = q[x, y];
q = SetPieces.reflectVert(q); //Bottom right
for (var y = 0; y < 14; y++)
for (var x = 0; x < 14; x++)
t[13 + x, 13 + y] = q[x, y];
q = SetPieces.reflectHori(q); //Bottom left
for (var y = 0; y < 14; y++)
for (var x = 0; x < 14; x++)
t[x, 13 + y] = q[x, y];
for (var y = 1; y < 4; y++) //Opening
for (var x = 8; x < 19; x++)
t[x, y] = 2;
t[12, 0] = t[13, 0] = t[14, 0] = 2;
var r = rand.Next(0, 4); //Rotation
for (var i = 0; i < r; i++)
t = SetPieces.rotateCW(t);
t[13 + 6, 13] = 3;
for (var x = 0; x < 27; x++) //Rendering
for (var y = 0; y < 27; y++)
{
if (t[x, y] == 1)
{
var tile = world.Map[x + pos.X, y + pos.Y].Clone();
tile.TileId = Floor;
tile.ObjType = Wall;
if (tile.ObjId == 0) tile.ObjId = world.GetNextEntityId();
world.Obstacles[x + pos.X, y + pos.Y] = 2;
world.Map[x + pos.X, y + pos.Y] = tile;
}
else if (t[x, y] == 2)
{
var tile = world.Map[x + pos.X, y + pos.Y].Clone();
tile.TileId = Floor;
tile.ObjType = 0;
world.Obstacles[x + pos.X, y + pos.Y] = 0;
world.Map[x + pos.X, y + pos.Y] = tile;
}
else if (t[x, y] == 3)
{
var cyclops = Entity.Resolve(0x0928);
cyclops.Move(pos.X + x, pos.Y + y);
world.EnterWorld(cyclops);
}
}
}
示例11: RenderSetPiece
public override void RenderSetPiece(World world, IntPoint pos)
{
int[,] t = new int[Size, Size];
int[,] o = new int[Size, Size];
for (int x = 0; x < 60; x++) //Flooring
for (int y = 0; y < 60; y++)
{
if (Math.Abs(x - Size / 2) / (Size / 2.0) + rand.NextDouble() * 0.3 < 0.9 &&
Math.Abs(y - Size / 2) / (Size / 2.0) + rand.NextDouble() * 0.3 < 0.9)
{
var dist = Math.Sqrt(((x - Size / 2) * (x - Size / 2) + (y - Size / 2) * (y - Size / 2)) / ((Size / 2.0) * (Size / 2.0)));
t[x, y] = rand.NextDouble() < (1 - dist) * (1 - dist) ? 2 : 1;
}
}
for (int x = 0; x < Size; x++) //Corruption
for (int y = 0; y < Size; y++)
if (rand.Next() % 50 == 0)
t[x, y] = 0;
const int bas = 17; //Walls
for (int x = 0; x < 20; x++)
{
o[bas + x, bas] = x == 19 ? 2 : 1;
o[bas + x, bas + 1] = 2;
}
for (int y = 0; y < 20; y++)
{
o[bas, bas + y] = y == 19 ? 2 : 1;
if (y != 0)
o[bas + 1, bas + y] = 2;
}
for (int x = 0; x < 19; x++)
{
o[bas + 8 + x, bas + 25] = 2;
o[bas + 8 + x, bas + 26] = x == 0 ? 2 : 1;
}
for (int y = 0; y < 19; y++)
{
if (y != 18)
o[bas + 25, bas + 8 + y] = 2;
o[bas + 26, bas + 8 + y] = y == 0 ? 2 : 1;
}
o[bas + 5, bas + 5] = 3; //Columns
o[bas + 21, bas + 5] = 3;
o[bas + 5, bas + 21] = 3;
o[bas + 21, bas + 21] = 3;
o[bas + 9, bas + 9] = 3;
o[bas + 17, bas + 9] = 3;
o[bas + 9, bas + 17] = 3;
o[bas + 17, bas + 17] = 3;
for (int x = 0; x < Size; x++) //Plants
for (int y = 0; y < Size; y++)
{
if (((x > 5 && x < bas) || (x < Size - 5 && x > Size - bas) ||
(y > 5 && y < bas) || (y < Size - 5 && y > Size - bas)) &&
o[x, y] == 0 && t[x, y] == 1)
{
double r = rand.NextDouble();
if (r > 0.6) //0.4
o[x, y] = 4;
else if (r > 0.35) //0.25
o[x, y] = 5;
else if (r > 0.33) //0.02
o[x, y] = 6;
}
}
int rotation = rand.Next(0, 4); //Rotation
for (int i = 0; i < rotation; i++)
{
t = SetPieces.rotateCW(t);
o = SetPieces.rotateCW(o);
}
Render(this, world, pos, t, o);
//Boss & Chest
Container container = new Container(0x0501, null, false);
int count = rand.Next(3, 8);
List<Item> items = new List<Item>();
while (items.Count < count)
{
Item item = chest.GetRandomLoot(rand);
if (item != null) items.Add(item);
}
for (int i = 0; i < items.Count; i++)
container.Inventory[i] = items[i];
container.Move(pos.X + Size / 2, pos.Y + Size / 2);
world.EnterWorld(container);
Entity snake = Entity.Resolve(0x0dc2);
snake.Move(pos.X + Size / 2, pos.Y + Size / 2);
world.EnterWorld(snake);
}
示例12: RenderSetPiece
public void RenderSetPiece(World world, IntPoint pos)
{
var cube = Entity.Resolve(0x0d59);
cube.Move(pos.X + 2.5f, pos.Y + 2.5f);
world.EnterWorld(cube);
}
示例13: RenderSetPiece
public void RenderSetPiece(World world, IntPoint pos)
{
int[,] t = new int[23, 35];
for (int x = 0; x < 23; x++) //Floor
for (int y = 0; y < 35; y++)
t[x, y] = rand.Next() % 3 == 0 ? 0 : 1;
for (int y = 0; y < 35; y++) //Perimeters
t[0, y] = t[22, y] = 2;
for (int x = 0; x < 23; x++)
t[x, 0] = t[x, 34] = 2;
List<IntPoint> pts = new List<IntPoint>();
for (int y = 0; y < 11; y++) //Crosses
for (int x = 0; x < 7; x++)
{
if (rand.Next() % 3 > 0)
t[2 + 3 * x, 2 + 3 * y] = 4;
else
pts.Add(new IntPoint(2 + 3 * x, 2 + 3 * y));
}
for (int x = 0; x < 23; x++) //Corruption
for (int y = 0; y < 35; y++)
{
if (t[x, y] == 1 || t[x, y] == 0 || t[x, y] == 4) continue;
double p = rand.NextDouble();
if (p < 0.1)
t[x, y] = 1;
else if (p < 0.4)
t[x, y]++;
}
//Boss & Chest
IntPoint pt = pts[rand.Next(0, pts.Count)];
t[pt.X, pt.Y] = 5;
t[pt.X + 1, pt.Y] = 6;
int r = rand.Next(0, 4);
for (int i = 0; i < r; i++) //Rotation
t = SetPieces.rotateCW(t);
int w = t.GetLength(0), h = t.GetLength(1);
XmlData dat = world.Manager.GameData;
for (int x = 0; x < w; x++) //Rendering
for (int y = 0; y < h; y++)
{
if (t[x, y] == 1)
{
WmapTile tile = world.Map[x + pos.X, y + pos.Y].Clone();
tile.TileId = dat.IdToTileType[Floor];
tile.ObjType = 0;
world.Map[x + pos.X, y + pos.Y] = tile;
}
else if (t[x, y] == 2)
{
WmapTile tile = world.Map[x + pos.X, y + pos.Y].Clone();
tile.TileId = dat.IdToTileType[Floor];
tile.ObjType = dat.IdToObjectType[WallA];
if (tile.ObjId == 0) tile.ObjId = world.GetNextEntityId();
world.Map[x + pos.X, y + pos.Y] = tile;
}
else if (t[x, y] == 3)
{
WmapTile tile = world.Map[x + pos.X, y + pos.Y].Clone();
tile.TileId = dat.IdToTileType[Floor];
world.Map[x + pos.X, y + pos.Y] = tile;
Entity wall = Entity.Resolve(world.Manager, dat.IdToObjectType[WallB]);
wall.Move(x + pos.X + 0.5f, y + pos.Y + 0.5f);
world.EnterWorld(wall);
}
else if (t[x, y] == 4)
{
WmapTile tile = world.Map[x + pos.X, y + pos.Y].Clone();
tile.TileId = dat.IdToTileType[Floor];
tile.ObjType = dat.IdToObjectType[Cross];
if (tile.ObjId == 0) tile.ObjId = world.GetNextEntityId();
world.Map[x + pos.X, y + pos.Y] = tile;
}
else if (t[x, y] == 5)
{
Container container = new Container(world.Manager, 0x0501, null, false);
Item[] items = chest.GetLoots(world.Manager, 3, 8).ToArray();
for (int i = 0; i < items.Length; i++)
container.Inventory[i] = items[i];
container.Move(pos.X + x + 0.5f, pos.Y + y + 0.5f);
world.EnterWorld(container);
}
else if (t[x, y] == 6)
{
Entity mage = Entity.Resolve(world.Manager, "Deathmage");
mage.Move(pos.X + x, pos.Y + y);
world.EnterWorld(mage);
}
}
}
示例14: RenderSetPiece
public void RenderSetPiece(World world, IntPoint pos)
{
Entity cube = Entity.Resolve(world.Manager, "Cube God");
cube.Move(pos.X + 2.5f, pos.Y + 2.5f);
world.EnterWorld(cube);
}
示例15: RenderSetPiece
//.........这里部分代码省略.........
t[x, 6] = t[x, 33] = 4;
for (int y = 6; y < 34; y++)
t[6, y] = t[24, y] = 4;
for (int x = 13; x < 18; x++) //Bridge
for (int y = 3; y < 7; y++)
t[x, y] = 6;
for (int x = 0; x < 31; x++) //Corruption
for (int y = 0; y < 40; y++)
{
if (t[x, y] == 1 || t[x, y] == 0) continue;
double p = rand.NextDouble();
if (t[x, y] == 6)
{
if (p < 0.4)
t[x, y] = 0;
continue;
}
if (p < 0.1)
t[x, y] = 1;
else if (p < 0.4)
t[x, y]++;
}
//Boss & Chest
t[15, 27] = 7;
t[15, 20] = 8;
int r = rand.Next(0, 4);
for (int i = 0; i < r; i++) //Rotation
t = SetPieces.rotateCW(t);
int w = t.GetLength(0), h = t.GetLength(1);
XmlData dat = world.Manager.GameData;
for (int x = 0; x < w; x++) //Rendering
for (int y = 0; y < h; y++)
{
if (t[x, y] == 1)
{
WmapTile tile = world.Map[x + pos.X, y + pos.Y].Clone();
tile.TileId = dat.IdToTileType[Floor];
tile.ObjType = 0;
world.Map[x + pos.X, y + pos.Y] = tile;
}
else if (t[x, y] == 2)
{
WmapTile tile = world.Map[x + pos.X, y + pos.Y].Clone();
tile.TileId = dat.IdToTileType[WaterA];
tile.ObjType = 0;
world.Map[x + pos.X, y + pos.Y] = tile;
}
else if (t[x, y] == 3)
{
WmapTile tile = world.Map[x + pos.X, y + pos.Y].Clone();
tile.TileId = dat.IdToTileType[WaterB];
tile.ObjType = 0;
world.Map[x + pos.X, y + pos.Y] = tile;
}
else if (t[x, y] == 4)
{
WmapTile tile = world.Map[x + pos.X, y + pos.Y].Clone();
tile.TileId = dat.IdToTileType[Floor];
tile.ObjType = dat.IdToObjectType[WallA];
if (tile.ObjId == 0) tile.ObjId = world.GetNextEntityId();
world.Map[x + pos.X, y + pos.Y] = tile;
}
else if (t[x, y] == 5)
{
WmapTile tile = world.Map[x + pos.X, y + pos.Y].Clone();
tile.TileId = dat.IdToTileType[Floor];
world.Map[x + pos.X, y + pos.Y] = tile;
Entity wall = Entity.Resolve(world.Manager, dat.IdToObjectType[WallB]);
wall.Move(x + pos.X + 0.5f, y + pos.Y + 0.5f);
world.EnterWorld(wall);
}
else if (t[x, y] == 6)
{
WmapTile tile = world.Map[x + pos.X, y + pos.Y].Clone();
tile.TileId = dat.IdToTileType[Bridge];
world.Map[x + pos.X, y + pos.Y] = tile;
}
else if (t[x, y] == 7)
{
Container container = new Container(world.Manager, 0x0501, null, false);
Item[] items = chest.GetLoots(world.Manager, 5, 8).ToArray();
for (int i = 0; i < items.Length; i++)
container.Inventory[i] = items[i];
container.Move(pos.X + x + 0.5f, pos.Y + y + 0.5f);
world.EnterWorld(container);
}
else if (t[x, y] == 8)
{
Entity cyclops = Entity.Resolve(world.Manager, "Cyclops God");
cyclops.Move(pos.X + x, pos.Y + y);
world.EnterWorld(cyclops);
}
}
}