private void CreateVoiceLabel(CharInfoNode node) { var obj = ComplexObjectPool.NewObjectSync("UI/ChatMain/ChatVoiceCell.prefab"); if (obj == null) { return; } obj.SetActive(true); voiceCell = obj.GetComponent <ChatVoiceCellLogic>(); if (voiceCell == null) { return; } voiceCell.SetChatInfo(FontSize, chatDataMsg.Seconds, MaxWidth); voiceCell.Seconds = chatDataMsg.Seconds; voiceCell.SoundData = chatDataMsg.SoundData; var objTransform = obj.transform; //objTransform.parent = Content.transform; objTransform.SetParentEX(Content.transform); objTransform.localScale = Vector3.one; objTransform.localPosition = new Vector3(xPos, yPos, 0); obj.SetActive(true); AddXPos(200); xPos = 10; AddVoiceLabel(); }
private void CreateVoiceLabel(CharInfoNode node) { //var objres = ResourceManager.PrepareResourceSync<GameObject>("UI/ChatMain/ChatVoiceCell.prefab"); //var obj = Instantiate(objres) as GameObject; var obj = ComplexObjectPool.NewObjectSync("UI/ChatMain/ChatVoiceCell.prefab"); if (obj == null) { return; } mVoiceCell = obj.GetComponent <ChatVoiceCellLogic>(); if (mVoiceCell == null) { return; } mVoiceCell.SetChatInfo(FontSize, mChatMessageData.Seconds, MaxLineWidth); //mVoiceCell.ChatMessageData = mChatMessageData; mVoiceCell.Seconds = mChatMessageData.Seconds; mVoiceCell.SoundData = mChatMessageData.SoundData; var objTransform = obj.transform; //objTransform.parent = BackGround.transform; objTransform.SetParentEX(BackGround.transform); obj.SetActive(true); objTransform.localScale = Vector3.one; objTransform.localPosition = new Vector3(mPositionX, mPositionY, 0); mTotalLength = MaxLineWidth; mPositionX = 10; AddVoiceLabel(); }
private void CreateTextLabel(string value) { var obj = ComplexObjectPool.NewObjectSync("UI/ChatMain/ChatLableNode.prefab"); if (obj == null) { return; } var objTransform = obj.transform; //objTransform.parent = BackGround.transform; objTransform.SetParentEX(BackGround.transform); obj.gameObject.collider.enabled = false; obj.SetActive(true); var label = obj.GetComponent <UILabel>(); var sbstr = ""; var text = ""; label.fontSize = FontSize; NGUIText.fontSize = label.fontSize; NGUIText.finalSize = label.fontSize; NGUIText.dynamicFont = label.trueTypeFont; if (mPositionX > MaxLineWidth) { ChangeLine(); } NGUIText.regionWidth = MaxLineWidth - mPositionX; NGUIText.maxLines = 10000; NGUIText.pixelDensity = 1.0f; NGUIText.regionHeight = 10000; NGUIText.finalLineHeight = label.fontSize; NGUIText.fontScale = 1.0f; NGUIText.WrapText(value, out sbstr, false, true); var index = sbstr.IndexOf("\n"); if (index > -1) { text = sbstr.Substring(0, index); } else { text = sbstr; } SetLableStroke(label); SetLableColor(label, text); objTransform.localPosition = new Vector3(mPositionX, mPositionY, 0); objTransform.localScale = Vector3.one; //positionX += label.width; AddPositionX(label.width); sbstr = sbstr.Remove(0, text.Length); if (sbstr.Length > 0) { ChangeLine(); sbstr = sbstr.Replace("\n", ""); CreateTextLabel(sbstr); } }
public void CreateObj(int dataId, int colorId) { if (mObjElf != null) { mObjElf.Destroy(); mObjElf = null; } if (dataId == -1) { return; } var angle = gameObject.transform.rotation.eulerAngles.y; angle += 90.0f; var temp = Owner.Position; temp.x += (float)Math.Cos(angle) * Radius; temp.z += (float)Math.Sin(angle) * Radius; NavMeshHit hit; if (NavMesh.Raycast(Owner.Position, temp, out hit, -1)) { temp = hit.position; } InitBaseData initData = new InitOtherPlayerData { ObjId = 0, DataId = dataId, X = temp.x, Y = temp.y, Z = temp.z, DirX = 1, DirZ = 0, Name = "", RobotId = 0ul }; var go = ComplexObjectPool.NewObjectSync(Resource.PrefabPath.Elf); var elf = go.GetComponent <ObjElf>(); elf.Init(initData, () => { mObjElf = elf; mObjElf.OnElfMoveOver = OnElfMoveOver; mObjElf.DoIdle(); var character = gameObject.GetComponent <ObjCharacter>(); if (character) { mObjElf.SetMoveSpeed(character.GetMoveSpeed() + 0.08f); ObjFakeCharacter.ChangeColor(mObjElf.GetModel(), colorId); } }); go.SetActive(true); }
public static Actor Create(int dateId, Dictionary <int, int> equipList = null, Action <Actor> callback = null, int layer = 0, bool sync = false, bool dynamicShadow = false) { var initData = new InitOtherPlayerData { ObjId = 0, DataId = dateId, X = Offset += 10, Y = -1000, Z = -2000, DirX = 1, DirZ = 0, Name = "", IsDead = false, IsMoving = false, MoveSpeed = 0, Camp = 0, RobotId = 0ul }; if (null != equipList) { { // foreach(var pair in equipList) var __enumerator2 = (equipList).GetEnumerator(); while (__enumerator2.MoveNext()) { var pair = __enumerator2.Current; { initData.EquipModel.Add(pair.Key, pair.Value); } } } } var go = ComplexObjectPool.NewObjectSync(Resource.PrefabPath.Actor); go.layer = layer; var character = go.GetComponent <Actor>(); character.mIsDynamicShadow = dynamicShadow; character.SyncLoadModel = sync; #if UNITY_EDITOR go.name = "Actor" + "_" + initData.ObjId; #endif character.Init(initData, () => { callback(character); }); go.SetActive(true); return(character); }
private void InitRes(string color) { if (_resPaths.ContainsKey(color)) { if (!_colorObjs.ContainsKey(color)) { _colorObjs[color] = ComplexObjectPool.NewObjectSync(_resPaths[color]); if (_colorObjs[color] == null) { return; } } var trans = _colorObjs[color].transform; trans.parent = gameObject.transform; trans.localPosition = Vector3.zero; trans.localPosition += new Vector3(0, -0.58f, 0); // ÌØЧλÖÃÐÞÕý trans.localScale = Vector3.one; _colorObjs[color].SetActive(true); StartCoroutine(EffectRemoveCoroutine(2f, _colorObjs[color])); } }
private void CreateFaceLabel(NoticeData node) { var obj = ComplexObjectPool.NewObjectSync("UI/RechargeActivity/RechargeActivityIcon.prefab"); if (obj == null) { return; } _mObj.Add(obj); var faceSprite = obj.GetComponent <UISprite>(); var objTransform = obj.transform; objTransform.SetParentEX(BackGround.transform); objTransform.localScale = Vector3.one; obj.SetActive(true); var faceWidth = PicWidth; //(int)(FontSize * 2.0f); var faceHeight = PicWidth; // (int)(FontSize * 2.0f); faceSprite.width = faceWidth; faceSprite.height = faceHeight; if (MaxLineWidth < mPositionX + faceWidth) { mPositionX = (int)(FontSize * 0.5f); mPositionY -= mLineOffset + FontSize; } var picPos = mPositionY + (PicWidth - FontSize) / 2; var iconId = node.IconId; var tbFace = Table.GetIcon(iconId); if (tbFace == null) { return; } GameUtils.SetSpriteIcon(faceSprite, tbFace.Atlas, tbFace.Sprite); _mNeedSetLine = false; objTransform.localPosition = new Vector3(mPositionX, picPos, 0); // Logger.Info("FaceLabel:{0},{1}", objTransform.localPosition.x, objTransform.localPosition.y); AddPositionX(faceWidth); }
public static ObjFakeCharacter Create(int dateId, Dictionary <int, int> equipList = null, Action <ObjFakeCharacter> callback = null, int layer = 0, bool sync = false, int renderQueue = -1, ulong objId = 0, int colorId = -1) { var initData = new InitOtherPlayerData { ObjId = objId, DataId = dateId, X = Offset += 10, Y = -1000, Z = -2000, DirX = 0, DirZ = 1, Name = "", IsDead = false, IsMoving = false, MoveSpeed = 0, Camp = 0, RobotId = 0ul }; if (null != equipList) { { // foreach(var pair in equipList) var __enumerator2 = (equipList).GetEnumerator(); while (__enumerator2.MoveNext()) { var pair = __enumerator2.Current; { initData.EquipModel.Add(pair.Key, pair.Value); } } } } var go = ComplexObjectPool.NewObjectSync(Resource.PrefabPath.FakeCharacter); go.layer = layer; var character = go.GetComponent <ObjFakeCharacter>(); character.SyncLoadModel = sync; character.RenderQueue = renderQueue; #if UNITY_EDITOR go.name = "ObjFakeCharacter" + "_" + initData.ObjId; #endif go.SetActive(true); var model = character.GetModel(); if (model != null) { model.SetActive(false); } character.Init(initData, () => { callback(character); model = character.GetModel(); if (model != null) { ChangeColor(model, colorId); //var frequency = model.GetComponent<AnimationUpdateFrequencyController>(); //if (frequency) //{ // frequency.enabled = false; //} model.SetActive(true); //if (!model.animation.isActiveAndEnabled) // model.animation.enabled = true; } }); return(character); }
private void CreateObjAsync <T>(InitBaseData initData, string prefabPath, GameObject root = null, Action <T> callBack = null) where T : ObjBase { if (mObjDict.ContainsKey(initData.ObjId)) { Logger.Warn("mObjPool.ContainsKey[{0}]", initData.ObjId.ToString()); RemoveObj(initData.ObjId); } //ResourceManager.PrepareResource<GameObject>(prefabPath, prefab => { var pos = new Vector3(initData.X, initData.Y, initData.Z); var go = ComplexObjectPool.NewObjectSync(prefabPath); var goTransform = go.transform; goTransform.localPosition = pos; goTransform.localRotation = Quaternion.identity; if (null != root) { goTransform.parent = root.transform; } #if UNITY_EDITOR go.name = string.Format("[{0}]({1})_{2}", initData.Name, initData.DataId, initData.ObjId); #endif go.SetActive(true); var obj = go.GetComponent <T>(); try { obj.Init(initData, () => { if (null != callBack) { callBack(obj); } }); } catch (Exception e) { Logger.Error("Create obj[{0}] failed! error:[{1}]", initData.ObjId, e.ToString()); #if !UNITY_EDITOR ComplexObjectPool.Release(go); #endif } if (initData.UseFakeModel) { mFakeList.Add(initData.ObjId); } mObjDict.Add(initData.ObjId, obj); if (!IsInit) { Table.ForeachWarFlag((tb) => { WarFlagDictionary.Add(tb.Id, tb.FlagModel); return(true); }); IsInit = true; } if (WarFlagDictionary.ContainsValue(initData.DataId)) { EventDispatcher.Instance.DispatchEvent(new UpdateWarFlagModelEvent(initData.ObjId, 0, initData.DataId)); } else if (GameUtils.GetNpcLodeID(initData.DataId) > 0) { EventDispatcher.Instance.DispatchEvent(new UpdateWarFlagModelEvent(initData.ObjId, 1, initData.DataId)); } else { var e1 = new Character_Create_Event(initData.ObjId); EventDispatcher.Instance.DispatchEvent(e1); } //Logger.Info("CreateObjAsync Obj[{0}]", initData.ObjId.ToString()); } //); }
private void CreateItemLabel(CharInfoNode node) { var obj = ComplexObjectPool.NewObjectSync("UI/ChatMain/ChatLableNode.prefab"); if (obj == null) { return; } var objTransform = obj.transform; objTransform.SetParentEX(Content.transform); obj.gameObject.collider.enabled = true; obj.SetActive(true); var label = obj.GetComponent <UILabel>(); ColliderList.Add(obj.gameObject); var sbstr = ""; var text = ""; label.fontSize = FontSize; NGUIText.fontSize = label.fontSize; NGUIText.finalSize = label.fontSize; NGUIText.dynamicFont = label.trueTypeFont; NGUIText.regionWidth = MaxWidth - xPos; NGUIText.pixelDensity = 1.0f; NGUIText.maxLines = 10000; NGUIText.regionHeight = 10000; NGUIText.finalLineHeight = label.fontSize; NGUIText.fontScale = 1.0f; var chatLogic = obj.GetComponent <ChatLableLogic>(); chatLogic.InfoNode = node; var tbTable = Table.GetItemBase(node.NodeData.Id); var value = tbTable.Name; var itemClor = GameUtils.GetTableColor(tbTable.Quality); //label.color = itemClor; NGUIText.WrapText(value, out sbstr, false, true); var index = sbstr.IndexOf("\n"); label.text = "[" + GameUtils.ColorToString(itemClor) + "]" + "[" + value + "]" + "[-]"; label.text = value; var y = yPos; if (index > -1) { xPos = (int)(FontSize * 0.5f); var height = 0; if (isFace) { height = (int)(FontSize * FaceScale); isFace = false; } else { height = FontSize; } height += LineOffset; y -= height; BackGround.height += height; Content.height += height; } else { if (isFace) { y -= FontSize; } } label.gameObject.transform.localPosition = new Vector3(xPos, y, 0); objTransform.localScale = Vector3.one; AddXPos(label.width); }
private void CreateFaceLabel(CharInfoNode node) { var obj = ComplexObjectPool.NewObjectSync("UI/ChatMain/ChatFaceNode.prefab"); if (obj == null) { return; } obj.SetActive(true); var faceSprite = obj.GetComponent <UISprite>(); var objTransform = obj.transform; //objTransform.parent = Content.transform; objTransform.SetParentEX(Content.transform); objTransform.localScale = Vector3.one; obj.SetActive(true); var faceWidth = (int)(FontSize * FaceScale); var faceHeight = (int)(FontSize * FaceScale); faceSprite.width = faceWidth; faceSprite.height = faceHeight; if (MaxWidth < xPos + faceWidth) { //换行 xPos = (int)(FontSize * 0.5f); if (isFace) { var y = FontSize * FaceScale; yPos -= (int)y; BackGround.height += (int)y; Content.height += FontSize; isFace = false; } else { yPos -= FontSize; BackGround.height += FontSize; Content.height += FontSize; } yPos -= LineOffset; WidgetList.Clear(); } var face = node.NodeData.Id; var tbFace = Table.GetFace(face); if (tbFace == null) { return; } if (isFace == false) { isFace = true; var c = WidgetList.Count; for (var i = 0; i < c; i++) { var w = WidgetList[i]; var l = w.transform.localPosition; l.y -= FontSize * (FaceScale - 1.0f) * 0.5f; w.transform.localPosition = l; } } faceSprite.spriteName = tbFace.Name + "_1"; var ani = obj.GetComponent <UISpriteAnimation>(); ani.namePrefix = tbFace.Name + "_"; var faceY = yPos; objTransform.localPosition = new Vector3(xPos, faceY, 0); AddXPos(faceWidth); }
private void CreatePostionLabel(CharInfoNode node) { //var objres = ResourceManager.PrepareResourceSync<GameObject>("UI/ChatMain/ChatLableNode.prefab"); //var obj = Instantiate(objres) as GameObject; var obj = ComplexObjectPool.NewObjectSync("UI/ChatMain/ChatLableNode.prefab"); if (obj == null) { return; } var objTransform = obj.transform; //objTransform.parent = BackGround.transform; objTransform.SetParentEX(BackGround.transform); obj.gameObject.collider.enabled = true; obj.SetActive(true); var chatLogic = obj.GetComponent <ChatLableLogic>(); chatLogic.InfoNode = node; var label = obj.GetComponent <UILabel>(); mColliderObjects.Add(obj.gameObject); var sbstr = ""; var text = ""; //SetLableColor(label); label.fontSize = FontSize; NGUIText.fontSize = label.fontSize; NGUIText.finalSize = label.fontSize; NGUIText.dynamicFont = label.trueTypeFont; NGUIText.regionWidth = MaxLineWidth - mPositionX; NGUIText.pixelDensity = 1.0f; NGUIText.maxLines = 10000; NGUIText.regionHeight = 10000; NGUIText.finalLineHeight = label.fontSize; NGUIText.fontScale = 1.0f; var sceneId = node.NodeData.ExData[0]; var x = node.NodeData.ExData[1]; var y = node.NodeData.ExData[2]; var tbScene = Table.GetScene(sceneId); var strDic = GameUtils.GetDictionaryText(242011); var value = String.Format(strDic, tbScene.Name, x / 100, y / 100); NGUIText.WrapText(value, out sbstr, false, true); label.text = value; var index = sbstr.IndexOf("\n"); if (index > -1) { mPositionX = (int)(FontSize * 0.5f); var height = mLineOffset; if (mLineFace) { height = (int)(FontSize * FaceScale); mLineFace = false; } else { height = FontSize; } mPositionY -= height; BackGround.height += height; } label.gameObject.transform.localPosition = new Vector3(mPositionX, mPositionY, 0); objTransform.localScale = Vector3.one; AddPositionX(label.width); }
private void CreateItemLabel(CharInfoNode node) { //var objres = ResourceManager.PrepareResourceSync<GameObject>("UI/ChatMain/ChatLableNode.prefab"); //var obj = Instantiate(objres) as GameObject; var obj = ComplexObjectPool.NewObjectSync("UI/ChatMain/ChatLableNode.prefab"); if (obj == null) { return; } var objTransform = obj.transform; //objTransform.parent = BackGround.transform; objTransform.SetParentEX(BackGround.transform); obj.gameObject.collider.enabled = true; obj.SetActive(true); var label = obj.GetComponent <UILabel>(); mColliderObjects.Add(obj.gameObject); var sbstr = ""; var text = ""; label.fontSize = FontSize; NGUIText.fontSize = label.fontSize; NGUIText.finalSize = label.fontSize; NGUIText.dynamicFont = label.trueTypeFont; NGUIText.regionWidth = MaxLineWidth - mPositionX; NGUIText.pixelDensity = 1.0f; NGUIText.maxLines = 10000; NGUIText.regionHeight = 10000; NGUIText.finalLineHeight = label.fontSize; NGUIText.fontScale = 1.0f; var chatLogic = obj.GetComponent <ChatLableLogic>(); chatLogic.InfoNode = node; var nodeNodeDataExDataCount0 = node.NodeData.ExData.Count; var tbTable = Table.GetItemBase(node.NodeData.Id); var value = tbTable.Name; var itemClor = GameUtils.GetTableColor(tbTable.Quality); //label.color = itemClor; NGUIText.WrapText(value, out sbstr, false, true); var index = sbstr.IndexOf("\n"); label.text = "[" + GameUtils.ColorToString(itemClor) + "]" + "[" + value + "]" + "[-]"; if (index > -1) { mPositionX = (int)(FontSize * 0.5f); var height = 0; if (mLineFace) { height = (int)(FontSize * FaceScale); mLineFace = false; } else { height = FontSize; } height += mLineOffset; mPositionY -= height; BackGround.height += height; } label.gameObject.transform.localPosition = new Vector3(mPositionX, mPositionY, 0); objTransform.localScale = Vector3.one; AddPositionX(label.width); }
private void CreateFaceLabel(CharInfoNode node) { // var objres = ResourceManager.PrepareResourceSync<GameObject>("UI/ChatMain/ChatFaceNode.prefab"); // // var obj = Instantiate(objres) as GameObject; var obj = ComplexObjectPool.NewObjectSync("UI/ChatMain/ChatFaceNode.prefab"); if (obj == null) { return; } var faceSprite = obj.GetComponent <UISprite>(); var objTransform = obj.transform; //objTransform.parent = BackGround.transform; objTransform.SetParentEX(BackGround.transform); objTransform.localScale = Vector3.one; obj.SetActive(true); var faceWidth = (int)(FontSize * FaceScale); var faceHeight = (int)(FontSize * FaceScale); faceSprite.width = faceWidth; faceSprite.height = faceHeight; if (MaxLineWidth < mPositionX + faceWidth) { mPositionX = (int)(FontSize * 0.5f); if (mLineFace) { var y = FontSize * FaceScale; mPositionY -= (int)y; BackGround.height += (int)y; mLineFace = false; } else { mPositionY -= FontSize; BackGround.height += FontSize; } mPositionY -= mLineOffset; } var face = node.NodeData.Id; var tbFace = Table.GetFace(face); if (tbFace == null) { return; } mLineFace = true; faceSprite.spriteName = tbFace.Name + "_1"; var ani = obj.GetComponent <UISpriteAnimation>(); ani.namePrefix = tbFace.Name + "_"; var faceY = mPositionY; if (IsCenter) { faceY += (int)(FontSize * (FaceScale - 1.0f) / 2.0f); } objTransform.localPosition = new Vector3(mPositionX, faceY, 0); AddPositionX(faceWidth); }
private void CreateTextLabel(string value, bool isNewTeam = false, CharInfoNode node = null) { var obj = ComplexObjectPool.NewObjectSync("UI/ChatMain/ChatLableNode.prefab"); if (obj == null) { return; } var objTransform = obj.transform; //objTransform.parent = BackGround.transform; objTransform.SetParentEX(BackGround.transform); obj.gameObject.collider.enabled = false; obj.SetActive(false); NetManager.Instance.StartCoroutine(DelayShowTextLabel(obj)); var label = obj.GetComponent <UILabel>(); var sbstr = ""; var text = ""; label.fontSize = FontSize; NGUIText.fontSize = label.fontSize; NGUIText.finalSize = label.fontSize; NGUIText.dynamicFont = label.trueTypeFont; if (mPositionX > MaxLineWidth) { ChangeLine(); } NGUIText.regionWidth = MaxLineWidth - mPositionX; NGUIText.maxLines = 10000; NGUIText.pixelDensity = 1.0f; NGUIText.regionHeight = 10000; NGUIText.finalLineHeight = label.fontSize; NGUIText.fontScale = 1.0f; NGUIText.WrapText(value, out sbstr, false, true); var index = sbstr.IndexOf("\n"); if (index > -1) { text = sbstr.Substring(0, index); sbstr = sbstr.Remove(0, text.Length).Trim(); if (!string.IsNullOrEmpty(sbstr)) { int symbol = 0; var lastSymbol1 = text.LastIndexOf('['); var lastSymbol2 = text.LastIndexOf(']'); if (lastSymbol1 >= 0 && lastSymbol2 >= 0 && 7 == lastSymbol2 - lastSymbol1) { var lastEnd = text.LastIndexOf("[-]"); if ((lastEnd < 0 || lastEnd < lastSymbol1) && sbstr.IndexOf("[-]") >= 0) { text += "[-]"; var colstr = text.Substring(lastSymbol1, 8); sbstr = colstr + sbstr; } } } } else { text = sbstr; sbstr = sbstr.Remove(0, text.Length).Trim(); } SetLableStroke(label); SetLableColor(label, text); objTransform.localPosition = new Vector3(mPositionX, mPositionY, 0); objTransform.localScale = Vector3.one; //positionX += label.width; AddPositionX(label.width); //sbstr = sbstr.Remove(0, text.Length); if (isNewTeam || mChatMessageData.Ladder == -1) { obj.gameObject.collider.enabled = true; var chatLogic = obj.GetComponent <ChatLableLogic>(); chatLogic.InfoNode = node; chatLogic.param = mChatMessageData.Ladder; if (null != label) { NGUITools.UpdateWidgetCollider(label.gameObject); } } if (!string.IsNullOrEmpty(sbstr)) { ChangeLine(); sbstr = sbstr.Replace("\n", ""); CreateTextLabel(sbstr, isNewTeam, node); } }
private void CreateTextLabel(NoticeData noticeNotice) { var value = noticeNotice.Content; var obj = ComplexObjectPool.NewObjectSync("UI/RechargeActivity/RechargeActivityText.prefab"); if (obj == null) { return; } _mObj.Add(obj); _mVarObjList.Add(new GameObjectType(obj, noticeNotice.Type)); var objTransform = obj.transform; objTransform.SetParentEX(BackGround.transform); obj.SetActive(true); var label = obj.GetComponent <UILabel>(); var sbstr = ""; var text = ""; label.fontSize = FontSize; NGUIText.fontSize = label.fontSize; NGUIText.finalSize = label.fontSize; if (mPositionX > MaxLineWidth) { ChangeLine(); } NGUIText.dynamicFont = label.trueTypeFont; NGUIText.regionWidth = MaxLineWidth - mPositionX; NGUIText.maxLines = 10000; NGUIText.pixelDensity = 1.0f; NGUIText.regionHeight = 10000; NGUIText.finalLineHeight = label.fontSize; NGUIText.fontScale = 1.0f; NGUIText.WrapText(value, out sbstr, false, true); var index = sbstr.IndexOf("\n"); if (index > -1) { text = sbstr.Substring(0, index); } else { text = sbstr; } objTransform.localScale = Vector3.one; objTransform.localPosition = new Vector3(mPositionX, mPositionY, 0); //Logger.Info("TextLabel:{0},{1},{2}", objTransform.localPosition.x, objTransform.localPosition.y,text); label.text = text; //positionX += label.width; AddPositionX(label.width); sbstr = sbstr.Remove(0, text.Length); if (sbstr.Length > 0) { ChangeLine(); index = sbstr.IndexOf("\n"); sbstr = sbstr.Substring(index + "\n".Length, sbstr.Length - "\n".Length); var notice = new NoticeData(eNoticeType.Text, -1, sbstr); CreateTextLabel(notice); } }