Exemple #1
0
 public BuildSettings()
 {
     CompanyName      = PlayerSettings.companyName;
     ProductName      = PlayerSettings.productName;
     BundleIdentifier = PlayerSettings.applicationIdentifier;
     BundleVersion    = PlayerSettings.bundleVersion;
     BundleBuild      = PlayerSettings.Android.bundleVersionCode.ToString();
     Platform         = BuildManager.Platforms.PC;
     BuildType        = BuildTypeEnum.x64;
     DebugBuild       = false;
 }
    /// <summary>
    /// 创建一个建筑
    /// </summary>
    /// <param name="buildPosition"></param>
    public T CreateBuildBase<T>(BuildTypeEnum buildType, Vector3 buildPosition) where T : BuildBase
    {
        BuildBase modelBuild = null;
        //设置建造数据
        BuildBaseBean buildBaseData = new BuildBaseBean();
        buildBaseData.SetBuildType(buildType);
        buildBaseData.SetBuildRule(BuildRuleEnum.Zero);
        buildBaseData.SetBuildPosition(buildPosition);
        //生成不同的模型
        switch (buildType)
        {
            case BuildTypeEnum.Building:
                modelBuild = modelForBuilding;
                break;
            case BuildTypeEnum.Foundation:
                modelBuild = modelForFoundation;
                break;
        }
        if (modelBuild == null)
            return null;
        GameObject objBuild = Instantiate(gameObject, modelBuild.gameObject, buildPosition);
        T cptBuild = objBuild.GetComponent<T>();
        cptBuild.SetBuilBaseData(buildBaseData);

        //增加数据
        GameDataHandler.Instance.manager.AddSceneListBuildData(buildBaseData);
        manager.AddBuildBase(cptBuild);
        //建筑动画
        AnimForBuild(buildType, cptBuild);

        //获取周围方块
        List<BuildBase> listAroundBuild = manager.GetAroundBuildBase(cptBuild);
        //改变周围方块状态
        for (int i = 0; i < listAroundBuild.Count; i++)
        {
            BuildBase itemBase = listAroundBuild[i];
            itemBase.AutoCheckBuildRule();
        }

        return cptBuild;
    }
        public static string GetString(IEnumerable <string> list, string split, BuildTypeEnum buildType)
        {
            var sb = new StringBuilder();


            if (list == null)
            {
                return("");
            }

            foreach (string s in list)
            {
                sb.Append(s + split);
            }
            if (sb.Length == 0)
            {
                return("");
            }
            if (buildType == BuildTypeEnum.RightContain)
            {
                return(sb.ToString());
            }
            if (buildType == BuildTypeEnum.FullContain)
            {
                return(split + sb);
            }
            string str = sb.ToString();

            if (split.Length > 0)
            {
                str = str.Remove(sb.Length - 1);
            }
            if (buildType == BuildTypeEnum.None)
            {
                return(str);
            }
            return(split + str);
        }
    /// <summary>
    /// 加载资源
    /// </summary>
    /// <param name="buildType"></param>
    /// <param name="resName"></param>
    public void LoadBuildBaseRes(BuildTypeEnum buildType, string resName)
    {
        if (dicBuildBaseForBuilding.ContainsKey(resName))
        {
            return;
        }
        string path = "build/";

        switch (buildType)
        {
        case BuildTypeEnum.Building:
            path += "building/";
            break;
        }
        GameObject       obj = LoadAssetUtil.SyncLoadAsset <GameObject>(path + resName, resName);
        BuildBaseManager buildBaseManager = obj.GetComponent <BuildBaseManager>();

        buildBaseManager.InitData();
        if (buildBaseManager)
        {
            dicBuildBaseForBuilding.Add(resName, buildBaseManager);
        }
    }
        public static IList <string> CartesianProduct(IList <IList <string> > codes, String split, BuildTypeEnum buildType)
        {
            IList <string> list = CartesianProduct(codes, split);

            if (buildType == BuildTypeEnum.None)
            {
                return(list);
            }
            var result = new List <string>();

            foreach (string line in list)
            {
                string newline = line;
                if (buildType == BuildTypeEnum.FullContain || buildType == BuildTypeEnum.LeftContain)
                {
                    newline = split + newline;
                }
                if (buildType == BuildTypeEnum.FullContain || buildType == BuildTypeEnum.RightContain)
                {
                    newline = newline + split;
                }
                result.Add(newline);
            }
            return(result);
        }
 public IList <string> GetCodeString(string split, BuildTypeEnum buildType)
 {
     return(CollectionHelper.CartesianProduct(Codes, split, buildType));
 }
 /// <summary>
 ///     获得拼音字符串
 /// </summary>
 /// <param name="split">每个拼音之间的分隔符</param>
 /// <param name="buildType">组装拼音字符串的方式</param>
 /// <returns></returns>
 public string GetPinYinString(string split, BuildTypeEnum buildType)
 {
     return(CollectionHelper.GetString(PinYin, split, buildType));
 }
 public static string BuildTypeToString(BuildTypeEnum buildType) => buildType switch
 {
Exemple #9
0
 public static BuildContext CreateBuildContext(BuildTypeEnum type, string buildPath, string codePath, string publishItemPath, string publishDirectory)
 {
     return(new BuildContext {
         Type = type, BuildPath = buildPath, CodePath = codePath, PublishItemPath = publishItemPath, publishDirectory = publishDirectory
     });
 }
 public IList <string> ToCodeString(string codeSplit = "", BuildTypeEnum buildType = BuildTypeEnum.None)
 {
     return(CollectionHelper.CartesianProduct(this, codeSplit, buildType));
 }
 public void SetBuildType(BuildTypeEnum buildType)
 {
     this.buildType = (int)buildType;
 }