Beispiel #1
0
 public Tile(int X, int Y, Vector3 tile_position, Tile_Sort Tile_sort, Sight_Sort sight_sort, BaseActor tile_actor)
 {
     this.x             = X;
     this.y             = Y;
     this.Tile_Position = tile_position;
     this.Tile_Sort     = Tile_sort;
     this.Sight_Sort    = sight_sort;
     this.Tile_Actor    = tile_actor;
 }
Beispiel #2
0
    public void Set_Tile(Tile_Obj tile_obj, Tile_Sort tile_sort)
    {
        SetTile(tile_obj.Tile.x, tile_obj.Tile.y, tile_sort);
        //tile_obj.tile_Sort = tile_sort;
        StartCoroutine(Build_Anim(tile_obj.gameObject));
        Ready_To_Update_Sight();
        Update_Sight();

        //Set_Map_Taget(Get_Map_target());
    }
Beispiel #3
0
 public void SetTile(int x, int y, Tile_Sort Tile_sort)
 {
     if (MapData[x, y] == null)
     {
         MapData[x, y] =
             new Tile(x, y, new Vector3(x, y), Tile_sort, Sight_Sort.Black, null);
     }
     else
     {
         MapData[x, y].Tile_Sort = Tile_sort;
     }
 }
Beispiel #4
0
    public bool Is_Block_Object(Tile_Sort tile_Sort)
    {
        bool temp = false;

        switch (tile_Sort.TileObject)
        {
        case eTileObject.WALL:
        case eTileObject.DOOR:
        {
            temp = true;
            break;
        }
        }
        return(temp);
    }
Beispiel #5
0
    private void Update_Tile_Sort(Tile_Sort Tile_Sort)
    {
        Nomal_Object.SetActive(false);
        Wall_Object.SetActive(false);

        int z_axis = 0;

        if (Tile_Sort.TileBase != eTileBase.NULL)      //Base가 비어있지 않을때
        {
            if (MapManager.Is_Block_Object(Tile_Sort)) //벽오브젝트가 있으면
            {
                Wall_Object.SetActive(true);

                int Sprite_Num = (int)Tile_Sort.TileObject - 1;

                rend          = Wall_Object.GetComponent <MeshRenderer>();
                rend.material = MapManager.Get_TileObject_From_List(Sprite_Num);


                if (Tile_Sort.TileObject == eTileObject.DOOR)
                {
                    if (Tile.Tile_Actor != null)
                    {
                        z_axis = 1;
                    }
                }

                //this.transform.position = new Vector3(Tile.x, Tile.y, -0.5f);
            }
            else                        //벽오브젝트가 아니면
            {
                Nomal_Object.SetActive(true);
                //

                int Sprite_Num = (int)Tile_Sort.TileBase - 1;
                rend = Nomal_Object.GetComponent <MeshRenderer>();
                rend.material.mainTexture = MapManager.Get_TileBase_From_List(Sprite_Num);

                if (Tile_Sort.TileObject == eTileObject.NULL)   //오브젝트가 없으면)
                {
                }
            }
        }

        this.transform.position = new Vector3(Tile.x, Tile.y, z_axis);
    }
Beispiel #6
0
 public bool Is_Move_Able_Tile(Tile_Sort Sort)
 {
     return(Sort.TileObject == eTileObject.NULL || Sort.TileObject == eTileObject.DOOR);
 }