/// <summary> /// 转文本输出 /// </summary> protected override void toWriteDataString(DataWriter writer) { writer.writeTabs(); writer.sb.Append("loginInfo"); writer.sb.Append(':'); if (this.loginInfo != null) { this.loginInfo.writeDataString(writer); } else { writer.sb.Append("ClientLoginServerInfoData=null"); } writer.writeEnter(); writer.writeTabs(); writer.sb.Append("version"); writer.sb.Append(':'); if (this.version != null) { this.version.writeDataString(writer); } else { writer.sb.Append("ClientVersionData=null"); } writer.writeEnter(); writer.writeTabs(); writer.sb.Append("areas"); writer.sb.Append(':'); writer.sb.Append("Map<int,AreaClientData>"); if (this.areas != null) { writer.sb.Append('('); writer.sb.Append(this.areas.size()); writer.sb.Append(')'); writer.writeEnter(); writer.writeLeftBrace(); if (!this.areas.isEmpty()) { int areasKFreeValue = this.areas.getFreeValue(); int[] areasKKeys = this.areas.getKeys(); AreaClientData[] areasVValues = this.areas.getValues(); for (int areasKI = areasKKeys.Length - 1; areasKI >= 0; --areasKI) { int areasK = areasKKeys[areasKI]; if (areasK != areasKFreeValue) { AreaClientData areasV = areasVValues[areasKI]; writer.writeTabs(); writer.sb.Append(areasK); writer.sb.Append(':'); if (areasV != null) { areasV.writeDataString(writer); } else { writer.sb.Append("AreaClientData=null"); } writer.writeEnter(); } } } writer.writeRightBrace(); } else { writer.sb.Append("=null"); } writer.writeEnter(); writer.writeTabs(); writer.sb.Append("lastAreaID"); writer.sb.Append(':'); writer.sb.Append(this.lastAreaID); writer.writeEnter(); writer.writeTabs(); writer.sb.Append("gameInfo"); writer.sb.Append(':'); if (this.gameInfo != null) { this.gameInfo.writeDataString(writer); } else { writer.sb.Append("ClientLoginServerInfoData=null"); } writer.writeEnter(); }