예제 #1
0
        public void InitData(int blockID, int posX, int posZ)
        {
            functionBlock = FunctionBlockModule.GetFunctionBlockByBlockID(blockID);

            UIinfo = UIUtility.SafeGetComponent <BlockUIScriptInfo>(transform);
            UIinfo.SetData(this);
            ModelRoot       = UIUtility.FindTransfrom(transform, "Root/ModelRoot").gameObject;
            gameObject.name = instanceID + "[Block]";

            SetPosition(new Vector3(posX, transform.localScale.y / 2, posZ));
            info = new FunctionBlockInfoData();
            info.CreateBaseInfo(transform.position, functionBlock,
                                new FunctionBlockModifier(ModifierTarget.FunctionBlock, instanceID));

            var blockType = info.dataModel.BlockType;

            if (blockType == FunctionBlockType.ElementCapsule)
            {
                var manuBase = transform.SafeAddCmpt <ManufactoryBase>();
                manuBase.SetData();
            }
            else if (blockType == FunctionBlockType.EnergyStorageUnit)
            {
                var normalBase = transform.SafeAddCmpt <BlockNormalBase>();
                normalBase.SetData();
            }

            InitBase();
        }
예제 #2
0
 public bool Create(int id)
 {
     if (FunctionBlockModule.GetFunctionBlockByBlockID(id) == null)
     {
         return(false);
     }
     _id = id;
     return(true);
 }
예제 #3
0
        //获取所有解锁的区块ID
        public static List <FunctionBlock> GetUnLockBuildBlockID()
        {
            List <FunctionBlock>     result     = new List <FunctionBlock>();
            List <BuildingPanelData> unlockList = GetUnLockBuildData();

            for (int i = 0; i < unlockList.Count; i++)
            {
                result.Add(FunctionBlockModule.GetFunctionBlockByBlockID(unlockList[i].FunctionBlockID));
            }
            return(result);
        }
예제 #4
0
        public static List <int> ParseTechParam_Unlock_Block(string content)
        {
            List <int> result = new List <int>();
            var        list   = Utility.TryParseIntList(content, ',');

            for (int i = 0; i < list.Count; i++)
            {
                if (FunctionBlockModule.GetFunctionBlockByBlockID(list[i]) != null)
                {
                    result.Add(list[i]);
                }
            }
            return(result);
        }
예제 #5
0
 /// <summary>
 /// 获取区块
 /// </summary>
 /// <param name="data"></param>
 /// <returns></returns>
 public FunctionBlock GetBuildFunctionBlock(BuildingPanelData data)
 {
     return(FunctionBlockModule.GetFunctionBlockByBlockID(data.FunctionBlockID));
 }