void Start()
    {
        if (PeGameMgr.IsAdventure)
        {
            SceneDoodadLodCmpt lod = GetComponentInParent <SceneDoodadLodCmpt> ();
            if (lod != null && lod.Index >= 0)
            {
//				int townid = lod.Index;
                List <Vector3> lstPos;
                VANativeCampXML.DynamicNative[] nativeIds = VArtifactUtil.GetAllDynamicNativePoint(lod.Index, out lstPos);
                if (nativeIds == null)
                {
                    return;
                }
                int cntNativeIds = nativeIds.Length;
                _posOfMonsters      = lstPos.ToArray();
                _protoIdsOfMonsters = new int[cntNativeIds];
                for (int i = 0; i < cntNativeIds; i++)
                {
                    _protoIdsOfMonsters[i] = nativeIds[i].type == 0 ? (nativeIds[i].did | EntityProto.IdGrpMask) : nativeIds[i].did;
                }
                _maxCntOfMonsters = 8;
            }
        }
        _radius = 256.0f;         //force 128
        StartCoroutine(RefreshAgents());
    }