Пример #1
0
        /// <summary>
        /// 初始化建造主页签
        /// </summary>
        public void RefreshBuildMainTab()
        {
            var buildtab = Transform.FindTransfrom("ConstructPanel/TabPanel");

            List <FunctionBlockTypeData> mainTypeList = FunctionBlockModule.GetInitMainType();
            var toggleGroup = buildtab.SafeGetComponent <ToggleGroup>();

            buildtab.InitObj(UIPath.PrefabPath.Construct_MainTab_Element_Path, mainTypeList.Count);
            for (int i = 0; i < buildtab.childCount; i++)
            {
                ConstructMainTabElement element = buildtab.GetChild(i).SafeGetComponent <ConstructMainTabElement>();
                if (toggleGroup != null)
                {
                    element.toggle.group = toggleGroup;
                }
                element.InitMainTabElement(mainTypeList[i]);
                element.transform.name = mainTypeList[i].Type.ToString();
                mainTabElementList.Add(element);
            }
            ///Set Default Select
            if (mainTabElementList.Count != 0)
            {
                mainTabElementList[0].toggle.isOn = true;
            }
        }
Пример #2
0
        public override bool OnMessage(UIMessage msg)
        {
            switch (msg.type)
            {
            case UIMsgType.GameAreaStateChange:
                RefreshAreaState();
                return(true);

            case UIMsgType.MainShip_Area_EnergyLoad_Change:
                UpdateEnergyLoad();
                return(true);

            case UIMsgType.MainShip_Area_PowerLevel_Change:
                return(UpdateAreaEnergyCost((MainShipAreaType)msg.content[0]));

            case UIMsgType.MenuPage_Update_BuildPanel:
                FunctionBlockTypeData typeData = (FunctionBlockTypeData)msg.content[0];
                var type = FunctionBlockModule.GetBlockType(typeData);
                return(RefreshBuildMainPanel(type));

            case UIMsgType.UpdateTime:
                return(UpdateTimePanel());

            default:
                return(false);
            }
        }
Пример #3
0
        /// <summary>
        /// 生成基础区划
        /// </summary>
        public void InitDistrictArea(FunctionBlockInfoData blockInfo)
        {
            if (blockInfo.districtInfo.currentDistrictDataDic == null)
            {
                return;
            }
            //gridlayoutGroup.constraint = GridLayoutGroup.Constraint.FixedColumnCount;
            //gridlayoutGroup.constraintCount = (int)blockInfo.districtAreaMax.x;
            foreach (KeyValuePair <Vector2, DistrictAreaInfo> kvp in blockInfo.districtInfo.currentDistrictDataDic)
            {
                int index = FunctionBlockModule.GetDistrictAreaIndex(blockInfo.districtInfo.size, kvp.Key);
                //if (_elementList.Length < index)
                //{
                //    Debug.LogError("Area Error!");
                //    continue;
                //}
                //else
                //{
                //    if (kvp.Value.isLargeDistrict == false)
                //    {
                //        //Init Small District

                //        DistrictSlot slot = (DistrictSlot)_elementList[index - 1];
                //        slot.InitDistrictAreaSlot(kvp.Value);
                //    }
                //    else if (kvp.Value.isLargeDistrict == true && kvp.Value.OriginCoordinate == kvp.Key)
                //    {
                //        //Init Large District

                //        List<Vector2> v2 = DistrictModule.GetRealDistrictTypeArea(kvp.Value.data, kvp.Key);
                //        for (int i = 0; i < v2.Count; i++)
                //        {
                //            int pos = FunctionBlockModule.GetDistrictAreaIndex(blockInfo.districtAreaMax, v2[i]);
                //            DistrictSlot slot = (DistrictSlot)_elementList[pos];
                //            slot.InitDistrictAreaSlot(kvp.Value);
                //        }
                //    }

                //}
            }
        }
Пример #4
0
        bool InitBaseData()
        {
            if (model.ID != 0)
            {
                FunctionBlockDataModel blockModel = new FunctionBlockDataModel();
                if (blockModel.Create(model.BuildData.FunctionBlockID))
                {
                    _blockIcon.sprite = blockModel.Icon;
                    _blockName.text   = blockModel.Name;
                    _desc.text        = model.Desc;
                    _timeCost.text    = model.BuildData.TimeCost.ToString();
                    var blockData = FunctionBlockModule.GetFunctionBlockByBlockID(model.BuildData.FunctionBlockID);
                    if (blockData != null)
                    {
                        //var areaMax = FunctionBlockModule.GetFunctionBlockAreaMax(blockData);
                        //_districtMaxText.text = string.Format("{0} X {1}", areaMax.x.ToString(), areaMax.y.ToString());
                    }

                    return(true);
                }
            }
            return(false);
        }
Пример #5
0
 public void SetFunctionBlock(FunctionBlock block, int amount = 1)
 {
     this.functionBlock = block;
     this.Amount        = amount;
     ItemImage.sprite   = FunctionBlockModule.GetFunctionBlockIcon(block.FunctionBlockID);
 }