/** 执行一个Adapater */ private static void doOneClass(ILClassInfo clsInfo, String path, bool isShine, StringBuilder writer) { string str = _templete; if (isShine) { str = str.Replace("$namespace", "namespace ShineEngine" + Enter + "{"); str = str.Replace("$_namespace", "}"); } else { str = str.Replace("$namespace", "using ShineEngine;" + Enter); str = str.Replace("$_namespace", ""); } str = str.Replace("$clsName", clsInfo.clsName); StringBuilder sb1 = StringBuilderPool.create(); StringBuilder sb2 = StringBuilderPool.create(); IntSet marks = new IntSet(); for (int i = 0, len = clsInfo.methods.size(); i < len; ++i) { doOneMethod(clsInfo.methods.get(i), i, sb1, sb2, marks); } str = str.Replace("$1", StringBuilderPool.releaseStr(sb1)); str = str.Replace("$2", StringBuilderPool.releaseStr(sb2)); FileUtils.writeFileForUTF(path + "/" + clsInfo.clsName + "Adapter.cs", str); writer.Append("appdomain.RegisterCrossBindingAdaptor(new " + clsInfo.clsName + "Adapter());"); endClsLine(writer); }
public override string ToString() { StringBuilder sb = StringBuilderPool.create(); writeToStringBuilder(sb); return(StringBuilderPool.releaseStr(sb)); }
/** 输出数据列表 */ public static void printDataList <T>(SList <T> list) where T : BaseData { StringBuilder sb = StringBuilderPool.create(); T data; for (int i = 0, len = list.size(); i < len; i++) { data = list.get(i); sb.Append(i); sb.Append(":"); if (data == null) { sb.Append("null"); } else { sb.Append(data.toDataString()); } sb.Append("\n"); } Ctrl.print(StringBuilderPool.releaseStr(sb)); }
/** 获取字符串时间表达(ms) */ public static string getTimeStr(long time, bool onlyDay = false) { StringBuilder sb = StringBuilderPool.create(); writeTimeStr(sb, time, onlyDay); return(StringBuilderPool.releaseStr(sb)); }
/** 转成字符串 */ override public string ToString() { StringBuilder sb = StringBuilderPool.create(); buiildXMLString(sb, 0); return(StringBuilderPool.releaseStr(sb)); }
/** 二进制转string */ public static string bytesToString(byte[] buf, int off, int length) { StringBuilder sb = StringBuilderPool.create(); for (int i = off; i < length; ++i) { string temp = Convert.ToString(buf[i] & 0xff, 16); if (temp.Length < 2) { sb.Append('0'); } sb.Append(temp); } return(StringBuilderPool.releaseStr(sb)); }
/** 获取cdn资源下载路径(WWW用) */ public static string getCDNResourcePath(string url, int resourceVersion) { if (!ShineSetting.isRelease) { return(getStreamingAssetsPath(url, true)); } StringBuilder sb = StringBuilderPool.create(); sb.Append(ShineGlobal.cdnSourcePath); sb.Append('/'); sb.Append(getPlatformName()); sb.Append("/resource_"); sb.Append(resourceVersion); sb.Append('/'); sb.Append(url); return(StringBuilderPool.releaseStr(sb)); }
/** 获取资源路径(streamingAsset)(needPlatform:是否需要运行平台前缀)(forWWW:是否www加载) */ private static string toGetPath(int type, string url, bool forWWW) { StringBuilder sb = StringBuilderPool.create(); if (forWWW && (type != StreamingAssetsPath || SystemControl.platform != RuntimePlatform.Android || !ShineSetting.isRelease)) { sb.Append("file:///"); } //调试模式 if (!ShineSetting.isRelease && type == StreamingAssetsPath) { sb.Append(_dataPath); sb.Append(ShineGlobal.sourcePath); sb.Append('/'); if (_isCommonResourceFunc != null && _isCommonResourceFunc(url)) { sb.Append("common/"); } else { sb.Append(getPlatformName()); sb.Append('/'); } } else { sb.Append(toGetRootPath(type)); if (type != StreamingAssetsPath) { sb.Append("/resource"); } sb.Append('/'); } sb.Append(url); return(StringBuilderPool.releaseStr(sb)); }
/** 输出数据字典 */ public static void printDataDic <T>(IntObjectMap <T> dic) where T : BaseData { StringBuilder sb = StringBuilderPool.create(); IntObjectMap <T> fDic; if (!(fDic = dic).isEmpty()) { int[] keys = fDic.getKeys(); T[] values = fDic.getValues(); int fv = fDic.getFreeValue(); int k; T v; for (int i = keys.Length - 1; i >= 0; --i) { if ((k = keys[i]) != fv) { v = values[i]; sb.Append(k); sb.Append(":"); if (v == null) { sb.Append("null"); } else { sb.Append(v.toDataString()); } sb.Append("\n"); } } } Ctrl.log(StringBuilderPool.releaseStr(sb)); }
public LogInfo(string head) { _sb = StringBuilderPool.create(); putHead(head); }
public LogInfo() { _sb = StringBuilderPool.create(); }
public DataWriter() { sb = StringBuilderPool.create(); }