Пример #1
0
    public static void BuildViewStageScene()
    {
        CounterPartInfo    Info     = StageDC.GetCounterPartInfo();
        ShipCanvasInfo     Map      = StageM.GetCounterPartMap(Info.countershipcanvasid);
        List <SoldierInfo> lSoldier = new List <SoldierInfo>();
        List <BuildInfo>   lBuild   = new  List <BuildInfo>();

        StageM.GetCounterPartShipPut(Info.id, ref lSoldier, ref lBuild);
        CmCarbon.SetDefenseMap(Map);
        GenerateShip.GenerateShips(GetShipBodyMap(), GetLifeMBornNode(true), lBuild, lSoldier);
        MainCameraM.s_Instance.ResetCameraDataByBattle();
    }
Пример #2
0
    /// <summary>
    /// 根据副本计算战斗力.
    /// </summary>
    /// <returns>The counter part combat power.</returns>
    /// <param name="nCounterPartID">N counter part I.</param>
    public static int GetCounterPartCombatPower(int nCounterPartID)
    {
        List <SoldierInfo> lSoldInfoList = new List <SoldierInfo> ();
        List <BuildInfo>   lBuildList    = new List <BuildInfo> ();

        StageM.GetCounterPartShipPut(nCounterPartID, ref lSoldInfoList, ref lBuildList);

        int combatPower = 0;

        foreach (SoldierInfo info in lSoldInfoList)
        {
            combatPower += info.m_combat_power;
        }
        foreach (BuildInfo info in lBuildList)
        {
            combatPower += info.m_DefensePower;
        }
        return(combatPower);
    }
Пример #3
0
    /// <summary>
    /// 加入战役战斗,填充战役相关数据。
    /// </summary>
    public static bool JoinCompaignBattle()
    {
        m_CounterPartPutSoldier.Clear();
        m_CounterPartEnemys.Clear();
        m_CounterPartPutBulid.Clear();
        m_CounterPartInfo = StageM.GetCounterPartInfo(m_stageid);
        if (m_CounterPartInfo != null)
        {
            SetStageReward(m_stageid);
            //战斗模式
            if (m_CounterPartInfo.mode == 0)
            {
                m_CounterPartMap = StageM.GetCounterPartMap(m_CounterPartInfo.countershipcanvasid);
                StageM.GetCounterPartShipPut(m_stageid, ref m_CounterPartPutSoldier, ref m_CounterPartPutBulid);
                //加入战斗
                CmCarbon.ReadyCombat();
                CmCarbon.SetDefenseMap(m_CounterPartMap);
                CmCarbon.SetDefenseBuild(m_CounterPartPutBulid);
                CmCarbon.SetPVEMonisterSoldier(m_CounterPartPutSoldier);
                CmCarbon.SetDefenseFloor(m_CounterPartInfo.decklevel);
                CmCarbon.SetDefenseUserInfo(m_CounterPartInfo, m_CounterPartPutBulid);
            }
            else     //防守模式
            //StageM.GetCounterPartShipPut(m_stageid , ref m_CounterPartPutSoldier , ref m_CounterPartPutBulid);
            {
                StageM.GetCounterPartShipPut(m_stageid, ref m_CounterPartEnemys, ref m_CounterPartPutBulid);
                //加入战斗
                CmCarbon.ReadyCombat();
                CmCarbon.SetAttackSoldier(m_CounterPartEnemys);
            }

            if (GetPassStageStar(m_type, m_stageid) == 0 /*&& GetPassStageTimes (m_type ,m_stageid) == 0*/)
            {
                CmCarbon.SetStartTalk(m_CounterPartInfo.m_StageStartTalk);
                CmCarbon.SetEndTalk(m_CounterPartInfo.m_StageEndTalk);
            }
            return(true);
        }
        return(false);
    }
Пример #4
0
    /// <summary>
    /// 模拟数据
    /// </summary>
    public static void SimulationData()
    {
        List <StaticShipCanvas> l = ShipPlanM.GetAllShipCanvasInfo();

        foreach (StaticShipCanvas v in l)
        {
            m_lShipDesignInfo.Add(v.Id, v);
        }
        //
        ShipPlan p = new ShipPlan();

        p.ID             = 1;
        p.bExitCanvas    = false;
        p.Name           = "我的小船船";
        p.Type           = PlanType.Default;
        p.BlackScienceID = 1;

        p.Canvans      = StageM.GetCounterPartMap(101001);
        p.ShipDesignId = 100005; // 16格大船
        StaticShipCanvas shipInfo = ShipPlanDC.GetShipDesignInfo(p.ShipDesignId);

        if (shipInfo != null)
        {
            p.Canvans.CorrectionShiftError(new Int2(shipInfo.Width, shipInfo.Height));
        }
        // 船只摆设数据
        List <SoldierInfo> lSoldier = null;
        List <BuildInfo>   lBuild   = null;

        StageM.GetCounterPartShipPut(101001, ref lSoldier, ref lBuild);
        // 建筑跟楼梯
        foreach (BuildInfo v in lBuild)
        {
            if (v.BuildType == 1300)
            {
                BuildInfo   gold = BuildDC.GetVaultBuildInfo();
                ShipPutInfo Info = new ShipPutInfo();
                Info.id            = ShipPutInfo.GetNewShipPutId();
                Info.objid         = gold.ID;
                Info.type          = 1;
                Info.cxMapGrid     = v.m_cx;
                Info.cyMapGrid     = v.m_cy;
                Info.shipput_data0 = 0;
                Info.shipput_data1 = 0;
                p.AddShipBuildInfo(Info, ShipBuildType.BuildRoom);
            }
            if (v.BuildType == 1201)
            {
                ShipPutInfo Info = new ShipPutInfo();
                Info.id            = ShipPutInfo.GetNewShipPutId();
                Info.objid         = v.BuildType;
                Info.type          = 3;
                Info.cxMapGrid     = v.m_cx;
                Info.cyMapGrid     = v.m_cy;
                Info.shipput_data0 = 0;
                Info.shipput_data1 = 0;
                p.AddShipBuildInfo(Info, ShipBuildType.BuildStair);
            }
        }

        m_lShipPlan.Add(p.ID, p);
        m_SelPlan = p;
    }