Exemple #1
0
        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();
        }
Exemple #2
0
    //设置爆炸地图
    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);
    }
Exemple #3
0
 /// <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);
     }
 }
Exemple #4
0
        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;
            }
        }
Exemple #5
0
    /// <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);
            }
        }
    }
Exemple #6
0
    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;
        }
    }
Exemple #7
0
 // Start is called before the first frame update
 void Start()
 {
     bombArea  = gameObject.transform.parent.GetComponent <BombArea>();
     targetPos = bombArea.GetRandomCoords();
 }