/// <summary> /// 检测指定点是否有建筑 /// </summary> /// <param name="position"></param> /// <returns></returns> protected bool CheckHasBuild(Vector3 position) { BuildItemTypeEnum buildType = (BuildItemTypeEnum)buildItemCpt.buildItemData.build_type; if (buildType == BuildItemTypeEnum.Floor) { return(false); } else if (buildType == BuildItemTypeEnum.Wall) { bool hasFurniture = listBuildingExist.Contains(position); if (hasFurniture) { return(true); } else { return(false); } } else { bool hasFurniture = listBuildingExist.Contains(position); bool hasWall = listBuildingExistForWall.Contains(position); if (hasFurniture || hasWall) { return(true); } else { return(false); } } }
/// <summary> /// 创建结构 /// </summary> /// <param name="buildItemType"></param> /// <param name="buildId"></param> protected void CreateStructure(BuildItemTypeEnum buildItemType, long buildId) { string name = BuildItemTypeEnumTools.GetBuildItemName(buildItemType); BuildItemBean buildItemdData = InnBuildHandler.Instance.manager.GetBuildDataById(buildId); CreateItem(objItemBaseContainer, null, Color.white, name, buildItemdData.name); }
public static string GetBuildItemName(BuildItemTypeEnum buildItemType) { string name = "???"; switch (buildItemType) { case BuildItemTypeEnum.BedBase: name = TextHandler.Instance.manager.GetTextById(801); break; case BuildItemTypeEnum.BedBar: name = TextHandler.Instance.manager.GetTextById(802); break; case BuildItemTypeEnum.BedSheets: name = TextHandler.Instance.manager.GetTextById(803); break; case BuildItemTypeEnum.BedPillow: name = TextHandler.Instance.manager.GetTextById(804); break; default: break; } return(name); }
private void OnAddItemRequested(BuildItemTypeEnum itemType) { if (AddItemRequested != null) { AddItemRequested(this, itemType); } }
public void RadioButtonSelected(RadioGroupView rgView, int position, RadioButtonView rbview) { BuildItemTypeEnum buildItemType = EnumUtil.GetEnum <BuildItemTypeEnum>(rbview.name); List <StoreInfoBean> listData = GetListBedDataByType(buildItemType); CreateBedDataList(listData); }
public void GetBuildItemsByTypeSuccess(BuildItemTypeEnum type, List <BuildItemBean> listData) { listBuildData = new Dictionary <long, BuildItemBean>(); foreach (BuildItemBean itemData in listData) { listBuildData.Add(itemData.id, itemData); } }
void ViewAddItemRequested(object sender, BuildItemTypeEnum e) { mAddItemPresenter.ShowBuildItems( mConfig.BuildItemsDictionary .Clone() .Values .Where(p => p.ItemType == e && p.Name != Consts.DefaultStateItemName), mBuildManager.CurrentStatistics); mAddItemView.ShowModalView(); }
public void GetBuildItemsDataByType(BuildItemTypeEnum type) { List <BuildItemBean> listData = GetModel().GetBuildItemsByType((int)type); if (CheckUtil.ListIsNull(listData)) { GetView().GetBuildItemsByTypeFail(); } else { GetView().GetBuildItemsByTypeSuccess(type, listData); } }
/// <summary> /// 获取 /// </summary> /// <param name="innBuildManager"></param> /// <param name="type"></param> /// <returns></returns> public List <ItemBean> GetBuildDataByType(BuildItemTypeEnum type) { List <ItemBean> listData = new List <ItemBean>(); foreach (ItemBean itemData in listBuild) { BuildItemBean buildItemData = InnBuildHandler.Instance.manager.GetBuildDataById(itemData.itemId); if (buildItemData.GetBuildType() == type) { listData.Add(itemData); } } return(listData); }
private static Color GetRowColorFromItemType(BuildItemTypeEnum itemType) { switch (itemType) { case BuildItemTypeEnum.Unit: return(Color.LightGreen); case BuildItemTypeEnum.Building: return(Color.DarkOrange); case BuildItemTypeEnum.Special: return(Color.Bisque); case BuildItemTypeEnum.Upgrade: return(Color.LightBlue); default: return(Color.White); } }
/// <summary> /// 根据类型获取数据 /// </summary> /// <param name="buildItemType"></param> /// <returns></returns> public List <StoreInfoBean> GetListBedDataByType(BuildItemTypeEnum buildItemType) { List <StoreInfoBean> listData = new List <StoreInfoBean>(); if (listBedData == null) { return(listData); } for (int i = 0; i < listBedData.Count; i++) { StoreInfoBean storeInfo = listBedData[i]; BuildItemBean buildItem = InnBuildHandler.Instance.manager.GetBuildDataById(storeInfo.mark_id); if (buildItem.GetBuildType() == buildItemType) { listData.Add(storeInfo); } } return(listData); }
/// <summary> /// 通过类型设置床数据 /// </summary> /// <param name="buildItemType"></param> /// <param name="buildId"></param> public void SetBedDataByType(BuildItemTypeEnum buildItemType, long buildId) { switch (buildItemType) { case BuildItemTypeEnum.BedBase: customBedData.bedBase = buildId; break; case BuildItemTypeEnum.BedBar: customBedData.bedBar = buildId; break; case BuildItemTypeEnum.BedSheets: customBedData.bedSheets = buildId; break; case BuildItemTypeEnum.BedPillow: customBedData.bedPillow = buildId; break; } RefreshUI(); }
/// <summary> /// 检测是否超出建筑范围 /// </summary> /// <param name="position"></param> /// <returns></returns> protected bool CheckOutOfRange(Vector3 position) { GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData(); BuildItemTypeEnum buildType = (BuildItemTypeEnum)buildItemCpt.buildItemData.build_type; gameData.GetInnBuildData().GetInnSize(buildLayer, out int innWidth, out int innHeight, out int offsetHeight); if (buildType == BuildItemTypeEnum.Door) { //门的范围为y=0 x :2- width-1 if (position.y == 0 && position.x > 2 && position.x < innWidth - 1) { return(false); } else { return(true); } } else if (buildType == BuildItemTypeEnum.Floor) { //地板 if (position.x >= 1 && position.x <= innWidth && position.y >= 0 + offsetHeight && position.y <= innHeight - 1 + offsetHeight) { return(false); } else { return(true); } } else if (buildType == BuildItemTypeEnum.Wall) { //墙体 if (position.x >= 1 && position.x <= innWidth && position.y >= 0 + offsetHeight && position.y <= innHeight - 1 + offsetHeight) { return(false); } else { return(true); } } else if (buildType == BuildItemTypeEnum.Other && buildItemCpt.buildItemData.id == -1) { //拆除模式 return(false); } else { //其他则在客栈范围内 判断是否超出可修建范围 if (position.x > 1 && position.x < innWidth && position.y > 0 + offsetHeight && position.y < innHeight - 1 + offsetHeight) { return(false); } else { return(true); } } }
/// <summary> /// 创建建筑列表 /// </summary> /// <param name="type"></param> public void CreateBuildList(BuildItemTypeEnum type) { if (itemBuildContainer == null) { return; } bool hasData = false; buildType = type; GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData(); if (type == BuildItemTypeEnum.Bed) { if (itemBuildForBedModel == null) { return; } if (gameData.listBed == null) { return; } CptUtil.RemoveChildsByActive(itemBuildContainer); listBuildItem.Clear(); listBuildForBedItem.Clear(); for (int i = 0; i < gameData.listBed.Count; i++) { BuildBedBean itemData = gameData.listBed[i]; CreateBuildForBedItem(itemData); hasData = true; } } else { if (itemBuildModel == null) { return; } if (gameData.listBuild == null) { return; } CptUtil.RemoveChildsByActive(itemBuildContainer); listBuildItem.Clear(); listBuildForBedItem.Clear(); for (int i = 0; i < gameData.listBuild.Count; i++) { ItemBean itemData = gameData.listBuild[i]; BuildItemBean buildData = InnBuildHandler.Instance.manager.GetBuildDataById(itemData.itemId); if (buildData == null) { continue; } if (type == buildData.GetBuildType()) { CreateBuildItem(itemData, buildData); hasData = true; } } } if (hasData) { tvNull.gameObject.SetActive(false); } else { tvNull.gameObject.SetActive(true); } }