Exemple #1
0
    /// <summary>
    /// 加载船上楼梯
    /// </summary>
    public static void LoadShipPutStairBuild(int ID, int DataID, BuildInfo Info)
    {
        if (Info == null)
        {
            return;
        }
        Transform parentT = GetLifeMBornNode(true);

        if (parentT == null)
        {
            return;
        }
        Int2       BornPos   = new Int2(Info.m_cx, Info.m_cy);
        Vector3    local     = RoomMap.GetShipBuildLocalPos(BornPos, ShipBuildType.BuildStair);
        Vector3    world     = Local2WorldPos(local);
        Building   buildlife = LifeFactory.CreateBuilding(Info, DataID, parentT, world, LifeEnvironment.Edit);
        TouchMove  touch     = buildlife.m_thisT.GetChild(0).gameObject.AddComponent <TouchMove>();
        Vector2    size      = new Vector2(Info.m_Shape.width, Info.m_Shape.height);
        CanvasCore Core      = new CanvasCore(ShipBuildType.BuildStair, false, ID, DataID, size);

        touch.InitTouchMoveCore(Core, BornPos, buildlife);

        AddBuildingEditPlugin(touch);
        TouchMoveManager.JointShipBuild(touch);
    }
Exemple #2
0
    /// <summary>
    /// 创建建筑物体
    /// </summary>
    private static void ProduceStairBulid(BuildInfo Info)
    {
        if (Info == null)
        {
            return;
        }
        Int2      Pos = new Int2(Info.m_cx, Info.m_cy);
        Transform t   = GetLifeMBornNode(true);

        if (t == null)
        {
            return;
        }
        Vector3 worldPos = Vector3.zero;
        MapGrid mg       = MapGrid.GetMG(Pos);

        if (mg != null)
        {
            worldPos.x = mg.WorldPos.x; //-MapGrid.m_width/2 ;
            worldPos.y = mg.WorldPos.y;
        }
        else
        {
            return;
        }

        Building1201 stair = LifeFactory.CreateBuilding(Info, 0, t, worldPos, LifeEnvironment.Combat) as Building1201;

        if (stair != null)
        {
            stair.SetMapGrid(Info.m_cx + 2, Info.m_cy);
        }
    }
Exemple #3
0
    /// <summary>
    /// 创建建筑物体
    /// </summary>
    private static Building ProduceRoomBulid(int DataID, BuildInfo Info)
    {
        if (Info == null)
        {
            return(null);
        }
        MapGrid mg = MapGrid.GetMG(Info.m_cy, Info.m_cx);

        if (mg != null)
        {
            return(LifeFactory.CreateBuilding(Info, DataID, GetLifeMBornNode(true), mg.WorldPos, LifeEnvironment.Combat));
        }
        return(null);
    }
Exemple #4
0
    /// <summary>
    /// 创建建筑
    /// </summary>
    void CreateBuilding(BuildInfo roomBuild)
    {
        // 创建地形
        if (roomBuild == null)
        {
            return;
        }

        GameObject dropHeroChild = new GameObject("dropHeroChild");

        dropHeroChild.transform.parent = MyHead.BtnClickTrap.transform;

        Vector2 size      = new Vector2(roomBuild.m_Shape.width, roomBuild.m_Shape.height);
        Vector3 pos       = new Vector3(-50f * size.x, -47.6f, -600f);
        Vector3 scaleSize = new Vector3(35f, 35f, 35f);

        if (size.y >= 2)
        {
            scaleSize = new Vector3(20f, 20f, 20f);
            pos       = new Vector3(-50f * size.x + 20f, -47.6f, -600f);
        }

        dropHeroChild.transform.localPosition = pos;
        dropHeroChild.transform.localScale    = scaleSize;

        Vector3 local = Vector3.zero;
        Vector3 world = dropHeroChild.transform.TransformPoint(local);

        roomBuild.m_cx = 0;
        roomBuild.m_cy = 0;
        m_buildlife    = LifeFactory.CreateBuilding(roomBuild, 0, dropHeroChild.transform, world, LifeEnvironment.View);
        if (m_buildlife != null)
        {
            m_buildlife.PlayViewAni();
            if (roomBuild.BuildType == 1605)
            {
                ParticleEffect effect = m_buildlife.m_thisT.gameObject.AddComponent <ParticleEffect>();
                effect.EnabelScale = true;
            }
        }
        // 创建房间外壳
        if (roomBuild.m_RoomType != RoomType.DeckTrap)   //非甲板房间需加壳
        {
            GenerateShip.GenerateShipBuildingShell(dropHeroChild.transform, roomBuild.GetBuildCanvasInfo());
        }

        GameObjectLoader.SetGameObjectLayer(dropHeroChild, gameObject.layer);
    }
    /// <summary>
    /// 创建建筑
    /// </summary>
    void CreateBuilding(BuildInfo roomBuild)
    {
        // 创建地形
        if (roomBuild == null)
        {
            return;
        }
        GameObject dropHeroChild = new GameObject("dropHeroChild");

        dropHeroChild.transform.parent = MyHead.DropHero;
        Vector2 size      = new Vector2(roomBuild.m_Shape.width, roomBuild.m_Shape.height);
        Vector3 pos       = new Vector3(-50f * size.x, 40f, -600f);
        Vector3 scaleSize = new Vector3(35f, 35f, 35f);

        dropHeroChild.transform.localPosition = pos;
        dropHeroChild.transform.localScale    = scaleSize;

        Vector3 local = Vector3.zero;
        Vector3 world = dropHeroChild.transform.TransformPoint(local);

        roomBuild.m_cx = 0;
        roomBuild.m_cy = 0;
        Building buildlife = LifeFactory.CreateBuilding(roomBuild, 0, dropHeroChild.transform, world, LifeEnvironment.View);

        if (buildlife != null)
        {
            buildlife.PlayClickAni();
        }
        // 创建房间外壳
        if (roomBuild.m_RoomType != RoomType.DeckTrap)   //非甲板房间需加壳
        {
            GenerateShip.GenerateShipBuildingShellWithouClear(dropHeroChild.transform, roomBuild.GetBuildCanvasInfo());
        }
        m_Tropies = dropHeroChild;
        SetStarsLevel(roomBuild.StarLevel);
        GameObjectLoader.SetGameObjectLayer(dropHeroChild, gameObject.layer);

        NGUIUtil.SetActive(MyHead.Building, true);
        string[] s = roomBuild.m_Desc.Split(new string[] { "\\n" }, StringSplitOptions.RemoveEmptyEntries);
        if (s.Length > 1)
        {
            string text = string.Format("{0}{1}", NGUIUtil.GetStringByKey(88800039), s[0]);
            NGUIUtil.SetLableText(MyHead.LblBuildDesc, text);
            NGUIUtil.SetLableText(MyHead.LblBuildEffect, s[1]);
        }
    }
Exemple #6
0
    /// <summary>
    ///  从仓库中创建建筑。
    /// </summary>
    public static void CreateBuildingFromWarehouse(BuildInfo infoBuild)
    {
        if (infoBuild == null)
        {
            return;
        }

        Vector2    size     = new Vector2(infoBuild.m_Shape.width, infoBuild.m_Shape.height);
        CanvasCore Core     = new CanvasCore(ShipBuildType.BuildRoom, true, ShipPutInfo.GetNewShipPutId(), infoBuild.ID, size);
        Int2       BornPos  = new Int2(0, 0);
        bool       isCanPut = PutCanvasM.GetBornPos(Core, ref BornPos);

        if (isCanPut == false)
        {
            NGUIUtil.ShowTipWndByKey("88800007", 1.0f);
            return;
        }

        Transform t_start   = GetLifeMBornNode(true);
        Vector3   local     = RoomMap.GetShipBuildLocalPos(BornPos, ShipBuildType.BuildRoom);
        Vector3   world     = Local2WorldPos(local);
        Building  buildlife = LifeFactory.CreateBuilding(infoBuild, 0, t_start, world, LifeEnvironment.Edit);

        if (buildlife == null)
        {
            return;
        }

        buildlife.ShowEditHp(infoBuild.m_bear);
        TouchMove touch = buildlife.m_thisT.GetChild(0).gameObject.AddComponent <TouchMove>();

        touch.InitTouchMoveCore(Core, BornPos, buildlife);

        AddBuildingEditPlugin(touch);

        GenerateShip.m_vStart = Vector3.zero;

        TouchMoveManager.JointShipBuild(touch);
        TouchMoveManager.SetCurTouchMove(touch);
        touch.WareHouse2Ship(BornPos);
    }