/// <summary> /// 检测区划是否重叠 或超出范围 True= out of range /// </summary> /// <typeparam name="T"></typeparam> /// <param name="block"></param> /// <param name="initCheck"></param> /// <returns></returns> public bool CheckDistrictDataOutofRange(int districtID, Vector2 placePos) { List <Vector2> checkList = DistrictModule.GetRealDistrictTypeArea(districtID, placePos); if (checkList.Count == 0) { return(true); } if (currentDistrictDataDic == null) { return(true); } for (int i = 0; i < checkList.Count; i++) { if (!currentDistrictDataDic.ContainsKey(checkList[i])) { ///Out of Range return(true); } else { /// Repeat if (currentDistrictDataDic[checkList[i]].districtID != 0) { return(true); } } } return(false); }
/// <summary> /// 检查是否区划处于未解锁的格子内 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="block"></param> /// <param name="initCheck"></param> /// <returns></returns> public bool CheckTargetDistrictNoLock(int districtID, Vector2 placePos) { List <Vector2> lockedList = DistrictModule.GetRealDistrictTypeArea(districtID, placePos); if (lockedList.Count == 0) { return(false); } if (currentDistrictDataDic == null) { return(false); } for (int i = 0; i < lockedList.Count; i++) { if (currentDistrictDataDic.ContainsKey(lockedList[i])) { if (currentDistrictDataDic[lockedList[i]].Locked == true) { return(false); } } } return(true); }