public static TileEntity instantiateTileEntity(DungeonParameter dgparam, TileBasis tile, Vector2 pos,GameObject parent,bool isactive) { init(dgparam); GameObject obj; switch (tile.Type) { case TileBasis.TileType.ROAD: obj = GameObject.Instantiate(RoadObj.gameObject) as GameObject; break; case TileBasis.TileType.WALL: obj = GameObject.Instantiate(WallObj.gameObject) as GameObject; break; case TileBasis.TileType.WATERWAY: obj = GameObject.Instantiate(WaterwayObj.gameObject) as GameObject; break; default: obj = GameObject.Instantiate(WallObj.gameObject) as GameObject; break; } //obj.SetActive(true); obj.transform.position = pos; obj.SetActive(false); //obj.GetComponent<SpriteRenderer>().enabled = isvisible; obj.transform.SetParent(parent.transform,false); TileEntity ret = obj.GetComponent<TileEntity>(); ret.setActive(isactive); return ret; }
public static TileEntity enableTileEntity(TileBasis.TileType tiletype, int spritenumber, Vector2 pos) { if (GameController.TilePool.childCount == 0) { for (int i = 0; i < 16; i++) { TileEntityFactory.instantiateTileEntity(null, new Wall(), Vector2.zero, GameController.TilePool.gameObject, false); } } var entity = GameController.TilePool.GetChild(0).GetComponent<TileEntity>(); entity.changeTileType(tiletype, spritenumber); entity.transform.position = pos; entity.setActive(true); return entity; }
public void EnableTiles(TileBasis.TileType type) { var find = Tiles.FindAll(t => t.Type == type);//.ForEach(t => t.setActive(false)); if (find.Count != 0) find.ForEach(t => t.setActive(true)); //Tiles.FindAll(t => t.Type == type).ForEach(t => t.setActive(true)); }
static Texture2D createTexture(TileBasis[,] tiles) { int w = tiles.GetLength(0); int h = tiles.GetLength(1); Texture2D ret = new Texture2D(w, h); for (int x = 0; x < w; x++) { for (int y = 0; y < h; y++) { Color c = Wall; switch (tiles[x, y].Type) { case TileBasis.TileType.OVERLAPROAD: c = Wall; break; case TileBasis.TileType.ROAD: c = Road; break; case TileBasis.TileType.WALL: c = Wall; break; case TileBasis.TileType.WATERWAY: c = Wall; break; } ret.SetPixel(x, h-y-1, c); } } ret.Apply(false); return ret; }
public Sprite getMiniMap(TileBasis[,] tiles) { var tex = createTexture(tiles); tex.filterMode = FilterMode.Point; Sprite ret = Sprite.Create(tex, new Rect(0, 0, tex.width, tex.height), Vector2.zero,64f); return ret; }
public static TileEntity instantiateTileEntity(DungeonParameter dgparam, TileBasis tile, Vector2 pos) { GameObject parent; switch (tile.Type) { case TileBasis.TileType.ROAD: parent = RoadParent; break; case TileBasis.TileType.WALL: parent = WallParent; break; case TileBasis.TileType.WATERWAY: parent = WallParent; break; default: parent = RoadParent; break; } return instantiateTileEntity(dgparam,tile, pos, parent,true); }
public static Sprite getTileSprite(TileBasis tile) { return getTileSprite(tile.Type,0); }
public static Sprite getTileSprite(TileBasis.TileType tiletype, int spritenumber) { switch (tiletype) { case TileBasis.TileType.ROAD: return RoadSprites[spritenumber]; case TileBasis.TileType.WALL: return WallSprites[spritenumber]; case TileBasis.TileType.WATERWAY: return WaterWaySprites[spritenumber]; } return null; }
public NostalgiaMapConverter(Map nostalgiamap,TileBasis.TileType tiletype,Vector2 origin) { Map = nostalgiamap; TileType = tiletype; Origin = origin; }
public IEnumerator instantiateTile(TileBasis tile, Vector2 pos, GameObject parent, bool active) { TileEntityFactory.instantiateTileEntity(CurrentDungeounParameter, tile, pos, tileparent, active); yield return null; }
public NostalgiaMapConverter(Map nostalgiamap, TileBasis.TileType tiletype) : this(nostalgiamap, tiletype, Vector2.zero) { }
public void init(TileBasis tile,DungeonParameter dgparam) { //Debug.Log(tile.Type); Type = tile.Type; string newtag = ""; //Sprite newsprite = null; switch (Type) { case TileBasis.TileType.ROAD: newtag = TagList.Road; SpriteRenderer.sprite = dgparam!=null? dgparam.CurrentRoadSprite:GameSkins.getTileSprite(TileBasis.TileType.ROAD,0); break; case TileBasis.TileType.WALL: newtag = TagList.Wall; SpriteRenderer.sprite = dgparam != null ? dgparam.CurrentWallSprite : GameSkins.getTileSprite(TileBasis.TileType.WALL,0); ; break; case TileBasis.TileType.WATERWAY: newtag = TagList.Wall; SpriteRenderer.sprite = dgparam != null ? dgparam.CurrentWaterWaySprite : GameSkins.getTileSprite(TileBasis.TileType.WATERWAY,0); ; break; case TileBasis.TileType.UNBREAKABLEWALL: newtag = TagList.Wall; SpriteRenderer.sprite = dgparam != null ? dgparam.CurrentWallSprite : GameSkins.getTileSprite(TileBasis.TileType.WALL, 0); ; break; } Entity = tile; this.transform.tag = newtag; SpriteRenderer.sortingLayerName = newtag; gameObject.layer = LayerMask.NameToLayer(newtag); this.name = Type.ToString(); }
public void changeTileType(TileBasis.TileType newtype, string parentname, int spritenumber) { Type = newtype; TileBasis tile = road; string newtag = ""; string layername = ""; //Sprite newsprite = null; switch (newtype) { case TileBasis.TileType.ROAD: tile = road; newtag = TagList.Road; layername = newtag; break; case TileBasis.TileType.WALL: tile = wall; newtag = TagList.Wall; layername = newtag; break; case TileBasis.TileType.WATERWAY: tile = waterway; newtag = TagList.WaterWay; layername = newtag; break; case TileBasis.TileType.OVERLAPROAD: tile = road; newtag = TagList.Road; layername = TagList.OverlapRoad; break; case TileBasis.TileType.UNBREAKABLEWALL: tile = wall; newtag = TagList.Wall; layername = newtag; break; } //Debug.Log(newsprite.name); //Debug.LogFormat("{0}",newtype); Entity = tile; this.transform.tag = newtag; SpriteRenderer.sprite = GameSkins.getTileSprite(parentname,spritenumber); SpriteRenderer.sortingLayerName = layername; gameObject.layer = LayerMask.NameToLayer(newtag); this.name = Entity.Name + (newtype == TileBasis.TileType.OVERLAPROAD ? @"(Overlap)" : ""); ; //throw new NotImplementedException(); }
public void changeTileType(TileBasis.TileType newtype, int spritenumber) { Type = newtype; TileBasis tile = road; string newtag = ""; Sprite newsprite = null; string layername = ""; switch (newtype) { case TileBasis.TileType.ROAD: tile = road; newtag = TagList.Road; //Debug.LogFormat("B:{0}:{1},{2}", newtype, spritenumber, GameSkins.RoadSprites.Length); spritenumber = spritenumber > GameSkins.RoadSprites.Length ? 0 : spritenumber; //Debug.LogFormat("A:{0}:{1},{2}", newtype, spritenumber, GameSkins.RoadSprites.Length); newsprite = GameSkins.RoadSprites[spritenumber]; layername = newtag; break; case TileBasis.TileType.WALL: tile = wall; newtag = TagList.Wall; spritenumber = spritenumber > GameSkins.WallSprites.Length ? 0 : spritenumber; newsprite = GameSkins.WallSprites[spritenumber]; layername = newtag; break; case TileBasis.TileType.WATERWAY: tile = waterway; newtag = TagList.WaterWay; spritenumber = spritenumber > GameSkins.WaterWaySprites.Length ? 0 : spritenumber; newsprite = GameSkins.WaterWaySprites[spritenumber]; layername = newtag; break; case TileBasis.TileType.OVERLAPROAD: tile = road; newtag = TagList.Road; //Debug.LogFormat("B:{0}:{1},{2}", newtype, spritenumber, GameSkins.RoadSprites.Length); spritenumber = spritenumber > GameSkins.RoadSprites.Length ? 0 : spritenumber; //Debug.LogFormat("A:{0}:{1},{2}", newtype, spritenumber, GameSkins.RoadSprites.Length); newsprite = GameSkins.RoadSprites[spritenumber]; layername = TagList.OverlapRoad; break; case TileBasis.TileType.UNBREAKABLEWALL: tile = wall; newtag = TagList.Wall; spritenumber = spritenumber > GameSkins.WallSprites.Length ? 0 : spritenumber; newsprite = GameSkins.WallSprites[spritenumber]; layername = newtag; break; } Debug.Log(newsprite.name); Entity = tile; this.transform.tag = newtag; SpriteRenderer.sprite = newsprite; SpriteRenderer.sortingLayerName = layername; gameObject.layer = LayerMask.NameToLayer(newtag); this.name = Type.ToString(); //Entity.Name + (newtype == TileBasis.TileType.OVERLAPROAD?@"(Overlap)":""); }
public void changeTileType(TileBasis.TileType newtype, DungeonParameter dgparam) { switch (newtype) { case TileBasis.TileType.ROAD: init(road,dgparam); //newtag = TagList.Road; break; case TileBasis.TileType.WALL: init(wall,dgparam); //newtag = TagList.Wall; break; case TileBasis.TileType.WATERWAY: init(waterway,dgparam); //newtag = TagList.Wall; break; case TileBasis.TileType.OVERLAPROAD: init(road, dgparam); string newtag = TagList.Road; this.transform.tag = newtag; SpriteRenderer.sortingLayerName = TagList.OverlapRoad; gameObject.layer = LayerMask.NameToLayer(newtag); //this.name += @"(Overlap)"; break; case TileBasis.TileType.UNBREAKABLEWALL: init(wall, dgparam); Type = TileBasis.TileType.UNBREAKABLEWALL; name = Type.ToString(); break; } }