
cc.Class({
    extends: cc.Component,

    properties: {
        mapNode: {
            default: null,
            type: cc.TiledMap,
        },
    },

    // LIFE-CYCLE CALLBACKS:

    // onLoad () {},

    start() {
        this.node.zIndex = -1000;
        cc.log('测试地图：', this.mapNode.getMapSize());
    },

    // update (dt) {},
});


// Square grid for A* Demonstration
// Copyright 2007 Amit J Patel, amitp@cs.stanford.edu
// License: MIT (see LICENSE file)

// package {
//     import Graph;
//     import flash.geom.Point;

//     public class SquareGrid extends Graph {
//         public var size:int; // side of a square, in pixels
//         public var width:int; // number of squares across
//         public var height:int; // number of squares high

//         public function SquareGrid(width_:int, height_:int, size_:int) {
//             width = width_;
//             height = height_;
//             size = size_;
//         }

//         override public function allNodes():Array {
//             var result:Array = new Array();
//             for (var u:int = 0; u != width; u++) {
//                 for (var v:int = 0; v != height; v++) {
//                     result.push({ u: u, v: v });
//                 }
//             }
//             return result;
//         }

//         override public function centerNode():Object {
//             return { u: Math.floor(width/2), v: Math.floor(height/2) };
//         }

//         override public function nodeToString(n:Object):String {
//             return ""+n.u+","+n.v;
//         }

//         override public function stringToNode(s:String):Object {
//             var fields:Array = s.split(",", 2);
//             return {u: Number(fields[0]), v: Number(fields[1])};
//         }

//         override public function nodesEqual(n1:Object, n2:Object):Boolean {
//             return (n1.u == n2.u) && (n1.v == n2.v);
//         }

//         override public function nodeVertices(n:Object):Array {
//             return new Array({ u: n.u, v: n.v },
//                              { u: n.u+1, v: n.v },
//                              { u: n.u+1, v: n.v+1 },
//                              { u: n.u, v: n.v+1 });
//         }

//         override public function vertexGeom(v:Object):Point {
//             return new Point(v.u * size, v.v * size);
//         }

//         override public function nodeValid(n:Object):Boolean {
//             return (0 <= n.u && n.u < width && 0 <= n.v && n.v < height);
//         }

//         override public function pointToNode(p:Point):Object {
//             // optimization of what the base class would do
//             var u:Number = p.x / size;
//             var v:Number = p.y / size;
//             if (nodeValid({u: u, v: v})) {
//                 return { u: Math.floor(u), v: Math.floor(v) };
//             } else {
//                 return null;
//             }
//         }

//         override public function nodeNeighbors(n:Object):Array {
//             var r:Array = new Array({ u: n.u + 1, v: n.v },
//                                     { u: n.u, v: n.v + 1 },
//                                     { u: n.u - 1, v: n.v },
//                                     { u: n.u, v: n.v - 1 });
//             var result:Array = new Array();
//             for (var i:int = 0; i != r.length; i++) {
//                 if (nodeValid(r[i])) {
//                     result.push(r[i]);
//                 }
//             }
//             return result;
//         }

//         override public function distance(a:Object, b:Object):Number {
//             return Math.abs(a.u - b.u) + Math.abs(a.v - b.v);
//         }
//     }
// }