/// <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); }
/// <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); } }
/// <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); }
/// <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]); } }
/// <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); }