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));
 }
Example #4
0
 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;
 }
Example #5
0
    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);
 }
Example #7
0
 public static Sprite getTileSprite(TileBasis tile)
 {
     return getTileSprite(tile.Type,0);
 }
Example #8
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)
 {
 }
Example #12
0
 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();
 }
Example #13
0
    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();
    }
Example #14
0
 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)":"");
 }
Example #15
0
 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;
     }
 }