private void InitGui() { InitSetting(); CalculateRate(); // InitPlayerItemList(); // InitMarkItemList(); _safeCircle = new BaneCircle(safeDuquanRoot, false, true); _duquanCircle = new BaneCircle(curDuquanRoot, true, true); _bombArea = new BombArea(curBombAreaRoot); _safeMiniDis = new SafeMiniDis(miniDisRoot); if (!MapLevel.Min.Equals(adapter.MapLevel)) { // _mapGird = new MapGird(lineRoot); // _mapGird1 = new MapGird1(girdRoot); } _mapGird1 = new MapGird1(girdRoot); InitMapBg(); _airPlane = new AirPlane(kTouRoot, Loader); _routeLine = new RouteLine(routeRoot); _mapLabel = new MapLabel(labelRoot); _mapPlayer = new MapPlayer(playItemRoot); _mapMark = new MapMark(markRoot); _bioMark = new BioMark(bioMarkRoot); PreparedSprite(); }
//设置爆炸地图 public static void SetBombMap(ShipCanvasInfo Info) { ClearBombData(); if (Info == null) { return; } Int2 StartPos = Int2.zero; List <Int2> lLinkPos = new List <Int2>(); //LeftUp Info.GetMapAreaRoom(MapArea.LeftUp, ref StartPos, ref lLinkPos); BombArea bombarea = new BombArea(); bombarea.ProcessType = BombProcessType.Middle; bombarea.SetArea(StartPos, lLinkPos); m_BombRoad.Add(BombRoad.LeftUp, bombarea); //RightDown Info.GetMapAreaRoom(MapArea.RightDown, ref StartPos, ref lLinkPos); bombarea = new BombArea(); bombarea.ProcessType = BombProcessType.Middle; bombarea.SetArea(StartPos, lLinkPos); m_BombRoad.Add(BombRoad.RightDown, bombarea); //LeftDown Info.GetMapAreaRoom(MapArea.LeftDown, ref StartPos, ref lLinkPos); bombarea = new BombArea(); bombarea.ProcessType = BombProcessType.Middle; bombarea.SetArea(StartPos, lLinkPos); m_BombRoad.Add(BombRoad.LeftDown, bombarea); //RightUp Info.GetMapAreaRoom(MapArea.RightUp, ref StartPos, ref lLinkPos); bombarea = new BombArea(); bombarea.ProcessType = BombProcessType.Middle; bombarea.SetArea(StartPos, lLinkPos); m_BombRoad.Add(BombRoad.RightUp, bombarea); //LeftMiddle Info.GetMapAreaRoom(MapArea.LeftMiddle, ref StartPos, ref lLinkPos); bombarea = new BombArea(); bombarea.ProcessType = BombProcessType.Middle; bombarea.SetArea(StartPos, lLinkPos); m_BombRoad.Add(BombRoad.LeftMiddle, bombarea); //RightMiddle Info.GetMapAreaRoom(MapArea.RightMiddle, ref StartPos, ref lLinkPos); bombarea = new BombArea(); bombarea.ProcessType = BombProcessType.Middle; bombarea.SetArea(StartPos, lLinkPos); m_BombRoad.Add(BombRoad.RightMiddle, bombarea); //Middle Info.GetMapAreaRoom(MapArea.Middle, ref StartPos, ref lLinkPos); List <List <Int2> > lCenterPos = new List <List <Int2> >(); Info.GetMapCenterAreaRoom(ref lCenterPos); bombarea = new BombArea(); bombarea.ProcessType = BombProcessType.End; bombarea.SetArea(StartPos, lLinkPos); bombarea.SetCenterArea(lCenterPos); m_BombRoad.Add(BombRoad.Middle, bombarea); }
/// <summary> /// 添加甲板建筑 /// </summary> /// <param name="lRoomPos">建筑所在房间区域</param> /// <param name="room">建筑对象</param> /// <returns></returns> public static void JoinDeckBuildRoom(List <Int2> lRoomPos, Building room) { if (lRoomPos == null || lRoomPos.Count == 0 || room == null) { return; } if (m_BombRoad.ContainsKey(BombRoad.Middle) == true) { BombArea bombarea = m_BombRoad[BombRoad.Middle]; if (bombarea == null) { return; } bombarea.AddArea(lRoomPos, room); } }
private void Grid_MouseMove(object sender, MouseEventArgs e) { var element = (UIElement)e.Source; Int32 Row = Grid.GetRow(element), Column = Grid.GetColumn(element); MouseFocus.SetValue(Grid.ColumnProperty, Column); MouseFocus.SetValue(Grid.RowProperty, Row); //Bomb if (Column >= 2 && Row >= 2 && Column <= 13 && Row <= 13) { BombArea.SetValue(Grid.ColumnProperty, Column - 2); BombArea.SetValue(Grid.RowProperty, Row - 2); //BombArea.Visibility = System.Windows.Visibility.Visible; } else { //BombArea.Visibility = System.Windows.Visibility.Hidden; } }
/// <summary> /// 添加金库建筑 /// </summary> /// <param name="lRoomPos">建筑所在房间区域</param> /// <param name="room">建筑对象</param> /// <returns></returns> public static void JoinGoldBuildRoom(List <Int2> lRoomPos, Building room) { if (lRoomPos == null || lRoomPos.Count == 0 || room == null) { return; } BombArea bombarea = new BombArea(); bombarea.ProcessType = BombProcessType.Start; bombarea.SetArea(lRoomPos, new List <Int2> ()); m_BombRoad.Add(BombRoad.GoldStart, bombarea); // foreach (Int2 Pos in lRoomPos) { List <BombPoint> l = FindAreaRoom(Pos); foreach (BombPoint P in l) { P.SetBuild(room); } } }
void GetNextBombArea(ref float dtime, ref bool IsOver) { BombArea bomb = ShipBombRule.GetNextBombArea(); if (bomb != null) { bomb.SetBombAreaTime(m_dt1, m_dt2, m_dt3); m_Bomb.Add(bomb); if (bomb.ProcessType == BombProcessType.Start) { dtime = m_dt + m_st1; } else { dtime = m_dt; } } else { IsOver = true; } }
// Start is called before the first frame update void Start() { bombArea = gameObject.transform.parent.GetComponent <BombArea>(); targetPos = bombArea.GetRandomCoords(); }