/// <summary> /// 初始化战场的道路连接数据 /// </summary> public void InitFieldMap() { m_MapRoadStations.Clear(); for (int i = 0; i < 12; i++) { for (int j = 0; j < 5; j++) { FieldRoadStation roadStation = new FieldRoadStation(); roadStation.point = new ChessPoint(j, i); if (ChessAgainst.InRailArea(roadStation.point)) { roadStation.type = FieldRoadStationType.Rail; } else if (ChessAgainst.IsBarrack(roadStation.point)) { roadStation.type = FieldRoadStationType.Barrack; } roadStation.id = m_MapRoadStations.Count; m_MapRoadStations.Add(roadStation); } } List <int> connetedIds = new List <int>(); for (int i = 0; i < m_MapRoadStations.Count; i++) { connetedIds.Clear(); for (int j = 0; j < m_MapRoadStations.Count; j++) { if (i != j) { if (ChessAgainst.IsConnected(m_MapRoadStations[i], m_MapRoadStations[j])) { connetedIds.Add(j); //Debugger.Warn(m_MapRoadStations[i].point.ToString()+" => "+ m_MapRoadStations[j].point.ToString()); } } } m_MapRoadStations[i].connectedPointIds = connetedIds.ToArray(); } }