Ejemplo n.º 1
0
    //生成第x,y位置的区块 计算其区域并赋予
    void GenerateMapAt(int x, int y, int depth)
    {
        if (regionGeneratedAt(x, y))
        {
            //Debug.Log("地图已经在 ("+x+","+y+")位置生成!");
            return;
        }
        if (available_regions.Length == 0)
        {
            Debug.Log("请设置生成区域数组!");
            return;
        }
        int    maxpower    = -1;
        Region mr          = empty_region;
        int    region_seed = seed + x * x_seed + y * y_seed;

        foreach (Region region in available_regions)
        {
            int p = region.getPower(x, y, depth, region_seed);
            //Debug.Log(p);
            if (p > maxpower)
            {
                mr = region;
            }
        }
        Region r = Instantiate(mr, region_parent) as Region;

        r.addBlock(x, y);
        Regions.Add(new Vector2(x, y), r);
        MapBoundsController mbc = InstantiateBoundsAt(x, y, r.material, r.width);

        r.mapBoundsController = mbc;
    }
Ejemplo n.º 2
0
    MapBoundsController InstantiateBounds(float width, float height, float startx, float starty, Material bound_material, float width_multiplier = 1f)
    {
        GameObject          b   = Instantiate(bound, bound_parent);
        MapBoundsController mbc = b.GetComponent <MapBoundsController>();

        mbc.Init(width, height, startx, starty, bound_material, width_multiplier);
        return(mbc);
    }
Ejemplo n.º 3
0
    //生成第x,y位置的区块并赋予其区域region
    void GenerateMapAt(int x, int y, Region region)
    {
        if (regionGeneratedAt(x, y))
        {
            //Debug.Log("地图已经在 ("+x+","+y+")位置生成!");
            return;
        }
        Region r = Instantiate(region, region_parent) as Region;

        r.addBlock(x, y);
        Regions.Add(new Vector2(x, y), r);
        MapBoundsController mbc = InstantiateBoundsAt(x, y, r.material, r.width);

        r.mapBoundsController = mbc;
    }
Ejemplo n.º 4
0
 public override void SetTarget(GameObject obj)
 {
     mapData = obj.GetComponent <MapBoundsController>();
     rect    = GetComponent <RectTransform>();
 }