private void readMapTexture() { Color[] pixels = mapTexture.GetPixels(0, 0, mapTexture.width, mapTexture.height); for (int y = 0; y < mapTexture.height; y++) { for (int x = 0; x < mapTexture.width; x++) { Color c = pixels [(y * mapTexture.width) + x]; GameObject tile = new GameObject(); tile.transform.position = new Vector3(x, y); tile.transform.SetParent(tile_dump.transform); if (c == Color.black) { WallTiles.Add(tile); tile.name = "Wall"; } else if (c == Color.blue) { StartTilesTeam1.Add(tile); tile.name = "Team 1"; } else if (c == Color.green) { StartTilesTeam2.Add(tile); tile.name = "Team 2"; } else { Tiles.Add(tile); tile.name = "Walkable"; } } } }
//Placeholder for tilecreation private void PlaceTile(int x, int y, Vector3 worldStart, int type) { GameObject newTile = Instantiate(tilePrefabs[type]); Vector3 tilePosition = new Vector3(worldStart.x + TileSize / 2 + (TileSize * x), worldStart.y - TileSize / 2 - (TileSize * y)); newTile.transform.position = tilePosition; // differentiate playing field-stadium if (type == 0 || type == 2) { Tiles.Add(newTile); } if (type == 2) { if (y > MaxYTiles / 2) { StartTilesTeam1.Add(newTile); } else { StartTilesTeam2.Add(newTile); } } if (type == 3) { WallTiles.Add(newTile); } }
internal void MoveDown(Character character) { if ((character.TileNumber / WidthUnits != HeightUnits - 1) && !WallTiles.Contains(character.TileNumber + 10)) { double x = MyFoxDraw.GetLeft(MyFoxDraw.Items[character.CharacterId]); double y = MyFoxDraw.GetTop(MyFoxDraw.Items[character.CharacterId]) + 50; MyFoxDraw.SetPosition(MyFoxDraw.Items[character.CharacterId], x, y); character.TileNumber += 10; } }
internal void MoveUp(Character character) { if ((character.TileNumber / WidthUnits != 0) && !WallTiles.Contains(character.TileNumber - 10)) { double x = MyFoxDraw.GetLeft(MyFoxDraw.Items[character.CharacterId]); double y = MyFoxDraw.GetTop(MyFoxDraw.Items[character.CharacterId]) - 50; MyFoxDraw.SetPosition(MyFoxDraw.Items[character.CharacterId], x, y); character.TileNumber -= 10; } }
public Area(FoxDraw myFoxDraw) { MyFoxDraw = myFoxDraw; FreeTiles = new List <int>(); for (int i = 0; i < WidthUnits * HeightUnits; i++) { if (!WallTiles.Contains(i)) { FreeTiles.Add(i); } } }
/// <summary> /// プレイヤーの家を設定し、山から配牌をとる /// </summary> /// <param name="status">何家か</param> /// <param name="walltiles">山牌</param> public Player(PlayerStatus status, WallTiles walltiles) { Status = status; // 配牌 Hands.SetFirstTiles(walltiles.FirstDrawing()); if (status == PlayerStatus.EastPlayer) { Hands.SetTile(walltiles.Drawing()); } }
public void DrawMap() { for (int i = 0; i < HeightUnits; i++) { for (int j = 0; j < WidthUnits; j++) { if (WallTiles.Contains(WidthUnits * i + j)) { MyFoxDraw.AddImage("./Assets/wall.png", 50 * j, 50 * i); } else { MyFoxDraw.AddImage("./Assets/floor.png", 50 * j, 50 * i); } } } }
private List <string> FindOptions(Character character) { var list = new List <string>(); if ((character.TileNumber % 10) != 9 && !WallTiles.Contains(character.TileNumber + 1)) { list.Add("right"); } if ((character.TileNumber / 10) != 0 && !WallTiles.Contains(character.TileNumber - 10)) { list.Add("up"); } if ((character.TileNumber / 10) != 10 && !WallTiles.Contains(character.TileNumber + 10)) { list.Add("down"); } if ((character.TileNumber % 10) != 0 && !WallTiles.Contains(character.TileNumber - 1)) { list.Add("left"); } return(list); }
public WallViewResolver(IEventSystem eventSystem, IEntityCollectionManager collectionManager, IUnityInstantiator instantiator, WallTiles wallTiles) : base(eventSystem, collectionManager, instantiator) { _wallTiles = wallTiles; }
public WallViewResolver(IViewHandler viewHandler, WallTiles wallTiles) : base(viewHandler) { _wallTiles = wallTiles; }
public WallViewResolver(IEventSystem eventSystem, IEntityDatabase entityDatabase, IUnityInstantiator instantiator, WallTiles wallTiles) : base(eventSystem, entityDatabase, instantiator) { _wallTiles = wallTiles; }