public void SetData(StaticShipCanvas s_shipInfo, bool showSelect, int ShipDesignID) { m_s_shipInfo = s_shipInfo; m_showSelect = showSelect; m_ShipDesignID = ShipDesignID; SetUI(); }
/// <summary> /// 目的区域是否是图形区域内. /// </summary> /// <returns><c>true</c>, if in shape was built, <c>false</c> otherwise.</returns> /// <param name="roomPosGrid">Room position grid.</param> public static bool BuildInShape(Int2 roomPosGrid) { StaticShipCanvas canvas = ShipPlanDC.GetCurShipDesignInfo(); if (canvas != null) { string[] ShapeList = canvas.Shape.Split(','); //是否在设计图宽高内. if (roomPosGrid.Layer >= RoomMap.Mapv2Start.Layer && roomPosGrid.Layer < canvas.Height) { if (roomPosGrid.Unit >= RoomMap.Mapv2Start.Unit && roomPosGrid.Unit < canvas.Width) { //设计图对应的位置是否能摆放 if (ShapeList.Length > 0 && ShapeList.Length <= canvas.Height && ShapeList[roomPosGrid.Layer].Length <= canvas.Width) { if (ShapeList[roomPosGrid.Layer][roomPosGrid.Unit] == '0') { return(false); } } return(true); } } } return(false); }
/// <summary> /// 设置方案画布 /// </summary> public void SetPlanCanvans(canvasedit.ShipCanvasInfo Info) { if (Info == null) { return; } ID = Info.id; Name = Info.name; Type = (PlanType)Info.type; BlackScienceID = Info.bs_id; // m_Canvans.width = Info.width; m_Canvans.height = Info.height; m_Canvans.map = Info.map; m_Canvans.shape = Info.shape; m_Canvans.shift_cx = Info.shift_cx; m_Canvans.shift_cy = Info.shift_cy; m_shipDesignId = Info.designid; StaticShipCanvas shipInfo = ShipPlanDC.GetShipDesignInfo(m_shipDesignId); if (shipInfo != null) { m_Canvans.CorrectionShiftError(new Int2(shipInfo.Width, shipInfo.Height)); } }
static void InitShipCanvasData(List <s_shipcanvasInfo> l) { m_lShipCanvasInfo.Clear(); foreach (s_shipcanvasInfo info in l) { StaticShipCanvas item = new StaticShipCanvas(info); m_lShipCanvasInfo.Add(item); } }
/// <summary> /// 创建设计图(在金银岛掠夺结算掉落,且只会掉一张) /// </summary> void CreateDesignPic(StaticShipCanvas info) { NGUIUtil.SetActive(MyHead.SprDesignQuality.gameObject, true); NGUIUtil.SetActive(MyHead.DesignPic, true); NGUIUtil.SetSprite(MyHead.SprDesignQuality, info.Quality + "_ico"); NGUIUtil.SetSprite(MyHead.SprDesignQuality1, info.Quality); NGUIUtil.SetLableText(MyHead.LblDesignCellCount, info.Cell); MyHead.mShipDesignUnitItem.SetData(info.Id); SetStarsLevel(info.StarLevel); }
public static string [] GetDesignShape(int shipDesignID) { StaticShipCanvas canvas = ShipPlanDC.GetShipDesignInfo(shipDesignID); if (canvas != null) { return(canvas.Shape.Split(',')); } return(null); }
public static bool CheckIsDeckGrid(Int2 GridPos) { StaticShipCanvas canvas = ShipPlanDC.GetCurShipDesignInfo(); if (canvas != null) { string[] l = canvas.Shape.Split(','); return(CheckIsDeckGrid(l, GridPos.Layer, GridPos.Unit)); } return(false); }
/// <summary> /// 获取当前方案最大的格子数. /// </summary> /// <returns>The end position by shape.</returns> /// <param name="ShipCanvasTypeId">Ship canvas type identifier.</param> public static Int2 GetEndPosByShape(int shipDesignID) { StaticShipCanvas canvas = ShipPlanDC.GetShipDesignInfo(shipDesignID); if (canvas != null) { Int2 endPos = new Int2(); endPos.Layer = canvas.Height; endPos.Unit = canvas.Width; return(endPos); } return(RoomMap.RealMapSize); }
public static Vector3 GetDiffenceDisignCameraPos() { float OffsetX = 0f; Int2 grid = new Int2(); StaticShipCanvas canva = ShipPlanDC.GetCurShipDesignInfo(); if (canva != null) { grid.Layer = canva.Height; grid.Unit = canva.Width; OffsetX = (RoomMap.MaxUnit - canva.Width) / 2 * 3f; } Vector3 pos = GetMainCameraPos(grid); pos.x = -OffsetX; return(pos); }
private void AddShipModel(StaticShipCanvas info) { GameObject go = NDLoad.LoadWndItem("ShipDesignMapItem", ShipModelParent.transform); if (go != null) { ShipDesignMapItem item = go.GetComponent <ShipDesignMapItem>(); if (item != null) { KeyValue size = new KeyValue(); size.key = SprShipBg.height; size.value = SprShipBg.width; item.SetData(info.Shape, info.Width, size); } } }
public void SetUI() { // s_shipcanvasInfo info = ShipPlanM.GetShipCanvasInfo(m_shipInfo.ShipCanvasTypeId); StaticShipCanvas info = m_s_shipInfo; if (info != null) { int bigLevel = ConfigM.GetBigQuality(info.Quality); NGUIUtil.SetStarLevelNum(Star, info.StarLevel); LblShipDesignName.text = info.Name; //NGUIUtil.GetBigQualityName(m_shipInfo.Name,info.quality); LblRoomCount.text = info.Cell.ToString(); NGUIUtil.SetSprite(SprQualityBg, bigLevel.ToString()); NGUIUtil.SetSprite(SprQualityWzBg, bigLevel.ToString()); NGUIUtil.SetSprite(SprQualityIco, bigLevel.ToString()); SetChosenEnable(false); AddShipModel(info); } // }
public void LoadShipDesign() { U3DUtil.DestroyAllChild(MyHead.ShipDesignParent, false); StaticShipCanvas canvas = ShipPlanDC.GetCurShipDesignInfo(); if (canvas != null) { GameObject go = NDLoad.LoadWndItem("ShipDesignItem", MyHead.ShipDesignParent.transform); if (go != null) { go.transform.localScale = new Vector3(0.8f, 0.8f, 1f); ShipDesignItem item = go.GetComponent <ShipDesignItem>(); if (item != null) { item.SetData(canvas, false, ShipPlanDC.CurShipDesignID); EventDelegate.Add(item.BtnSelect.onClick, BtnSelectChange); } } } }
private void ShowUnit() { StaticShipCanvas info = ShipPlanM.GetShipCanvasInfo(m_id); if (info != null) { List <string> data = ShipPlanM.ParseShapeData(info.Shape); int index = 0; foreach (string item in data) { for (int i = 0; i < item.Length; i++) { if (item[i] == 49) { NGUIUtil.SetActive(m_lGo[index], true); } index++; } } } }
void CreateWhenSelectChange(ShipModemType type) { U3DUtil.DestroyAllChild(MyHead.Table.gameObject); List <StaticShipCanvas> l = ShipPlanDC.GetAllShipDesignList(type); SortCanvasList(ref l); for (int i = 0; i < l.Count; i++) { StaticShipCanvas Info = l[i]; GameObject go = NDLoad.LoadWndItem("ShipDesignItem", MyHead.Table.transform); if (go != null) { ShipDesignItem item = go.GetComponent <ShipDesignItem>(); if (item != null) { item.SetData(Info, m_iWndType == WndType.ShipEdit, Info.ShipDesignID); item.m_SelectCallBack = ShipDesignItemCallBack; } } } StartCoroutine(RepositionTable(1)); }
/// <summary> /// 显示船只设计图 /// </summary> public void ShowDesignAction() { treasure.TreasureRobSettleResponse response = null; if (response != null) { int sShipCanvasID = response.shipdrawingid; StaticShipCanvas sInfo = ShipPlanM.GetShipCanvasInfo(sShipCanvasID); if (sInfo != null) { sdata.s_itemtypeInfo itypeInfo = new sdata.s_itemtypeInfo(); itypeInfo.gid = sShipCanvasID; itypeInfo.name = sInfo.Name; itypeInfo.gtype = 5; List <sdata.s_itemtypeInfo> lInfo = new List <sdata.s_itemtypeInfo>(); lInfo.Add(itypeInfo); TrophiesActionWnd TropWnd = WndManager.GetDialog <TrophiesActionWnd>(); if (TropWnd) { TropWnd.ClearTropiesData(); TropWnd.AddTropiesData(lInfo); TropWnd.SetWndType(5); TropWnd.MyHead.LblDes.gameObject.SetActive(false); TropWnd.BtnOKClickHandler += CheckShowCombatResult; } } else { CheckShowCombatResult(); } } else { CheckShowCombatResult(); } }
/// <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; }
private void LoadTrophies(int gtype, int gid, bool isSoul = false, bool isNewVersion = false, int num = 0, bool isBook = false) { NGUIUtil.SetActive(MyHead.SkillInfo, false); NGUIUtil.SetActive(MyHead.Building, false); if (isNewVersion) { if (MyHead.LblDes != null) { MyHead.LblDes.gameObject.SetActive(false); } } if (gtype == 1) //炮弹兵 { SoldierInfo Info = SoldierM.GetStartSoldierInfo(gid); CreateSoldier(Info); if (isNewVersion) { if (isSoul && num > 0) { int startLevel = SoldierM.GetSoldierStarLevel(Info.SoldierTypeID); MyHead.LblDes.text = string.Format(NGUIUtil.GetStringByKey(10000119), startLevel, num); MyHead.LblDes.gameObject.SetActive(true); } } else if (m_isSoulPis && m_SoulPisNum > 0) { int startLevel = SoldierM.GetSoldierStarLevel(Info.SoldierTypeID); MyHead.LblDes.text = string.Format(NGUIUtil.GetStringByKey(10000119), startLevel, m_SoulPisNum); } m_bNotTween = false; } else if (gtype == 3) // 陷阱/建筑物 { BuildInfo Info = buildingM.GetStartBuildInfo(gid); if (Info != null) { CreateBuilding(Info); } m_bNotTween = true; } else if (gtype == 4) //黑科技 { NGUIUtil.SetActive(MyHead.BlackScience, true); CaptionInfo info = new CaptionInfo(); GodSkillM.GetCaption(gid, ref info); CreateBlackScience(info); if (isNewVersion) { if (isBook && num > 0) { int star = GodSkillM.GetCaptionMinStarLevel(info.m_godskilltype1); MyHead.LblDes.text = string.Format(NGUIUtil.GetStringByKey(30000060), star, num); MyHead.LblDes.gameObject.SetActive(true); } } else if (m_isSoulPis && m_SoulPisNum > 0) { int star = GodSkillM.GetCaptionMinStarLevel(info.m_godskilltype1); MyHead.LblDes.text = string.Format(NGUIUtil.GetStringByKey(30000060), star, m_SoulPisNum); } m_bNotTween = true; } else if (gtype == 5) //设计图 { StaticShipCanvas cInfo = ShipPlanM.GetShipCanvasInfo(gid); CreateDesignPic(cInfo); m_bNotTween = true; } else if (gtype == 2) //碎片 { CreateTrophyItem(gtype, gid); } SoundPlay.Play("get_item", false, false); }