void OnDestroy() { HideDialogBubble(0); if (m_hpBarScript != null) { m_hpBarScript.SetTargetActor(null); m_hpBarScript = null; } if (mTextObject != null) { // 取消激活VerticalLayoutGroup var layout_trans = mTextObject.transform.Find("Layout"); if (layout_trans != null) { var vert_layout = layout_trans.GetComponent <VerticalLayoutGroup>(); if (vert_layout != null) { if (vert_layout.enabled) { vert_layout.enabled = false; } } } if (mDefaultFontSize != 0) { FontSize = mDefaultFontSize; } ObjCachePoolMgr.Instance.RecyclePrefab(mTextObject, mPoolType, mPoolKey); mTextObject = null; } mTextString = ""; if (timer != null) { timer.Destroy(); timer = null; } }
void Init() { mTextObject = ObjCachePoolMgr.Instance.LoadFromCache(mPoolType, mPoolKey) as GameObject; if (mTextObject == null) { mTextObject = (GameObject)GameObject.Instantiate(mHudActorWin.TextObj); PoolGameObject pg = mTextObject.AddComponent <PoolGameObject>(); pg.poolType = mPoolType; pg.key = mPoolKey; } Transform textTrans = mTextObject.transform; textTrans.SetParent(mHudActorWin.TextRootTrans); textTrans.localPosition = Vector3.zero; textTrans.localScale = mScale; // 激活VerticalLayoutGroup var layout_trans = textTrans.Find("Layout"); if (layout_trans != null) { CommonTool.SetActive(layout_trans.gameObject, true); var vert_layout = layout_trans.GetComponent <VerticalLayoutGroup>(); if (vert_layout != null) { if (!vert_layout.enabled) { vert_layout.enabled = true; } } } mTextObject.SetActive(true); mTextLabel = UIHelper.FindChild(textTrans, "TextLabel").GetComponent <Text>(); if (mTextLabel != null) { mDefaultFontSize = mTextLabel.fontSize; // 保存默认的字体大小 } mGuildNameTextLabel = UIHelper.FindChild(textTrans, "GuildNameTextLabel").GetComponent <Text>(); //帮派名 mMateNameTextLabel = UIHelper.FindChild(textTrans, "MateNameTextLabel").GetComponent <Text>(); //帮派名 mRankTextLabel = UIHelper.FindChild(textTrans, "RankTextLabel").GetComponent <Text>(); //排名 mHangUpTextLabel = UIHelper.FindChild(textTrans, "HangUpTextLabel").GetComponent <Text>(); //挂机中 mTextLabel.text = mTextString; mGuildNameTextLabel.gameObject.SetActive(false); mMateNameTextLabel.gameObject.SetActive(false); mRankTextLabel.gameObject.SetActive(false); mHangUpTextLabel.gameObject.SetActive(false); mBGSprite = UIHelper.FindChild(textTrans, "BGSprite").GetComponent <Image>(); mPreBGSprite = UIHelper.FindChild(textTrans, "PreBGSprite").GetComponent <Image>(); mPeakTeamIconImage = UIHelper.FindChild(textTrans, "PeakTeamIconImage").GetComponent <Image>(); mTeamIconImage = UIHelper.FindChild(textTrans, "TeamIconImage").GetComponent <Image>(); mAffiliationPanel = UIHelper.FindChild(textTrans.gameObject, "AffiliationPanel").transform; mHpBar = UIHelper.FindChild(textTrans.gameObject, "PlayerHpBar").transform; mHpBar.gameObject.SetActive(false); mHpBarForegroundFillImage = mHpBar.Find("Foreground/Fill Area/Fill").GetComponent <Image>(); mHonorPanel = UIHelper.FindChild(textTrans, "HonorPanel"); mHonorPanel.SetActive(false); mHonorIcon = UIHelper.FindChild(textTrans, "HonorIcon").GetComponent <Image>(); mHonorIcon.gameObject.SetActive(true); mTitleIcon = UIHelper.FindChild(textTrans, "TitleIcon").GetComponent <Image>(); mTitleIcon.gameObject.SetActive(false); mTitleEffect = mTitleIcon.transform.Find("Effect").GetComponent <RawImage>(); mTitleEffect.gameObject.SetActive(false); m_hpBarScript = mHpBar.gameObject.GetComponent <UIPlayerHpBar>(); if (m_hpBarScript == null) { m_hpBarScript = mHpBar.gameObject.AddComponent <UIPlayerHpBar>(); } DialogBubbleParent = UIHelper.FindChild(textTrans.gameObject, "ChatMsgBg").transform; DialogBubbleText = UIHelper.FindChild(textTrans.gameObject, "ChatMsgText").GetComponent <EmojiText>(); DialogChatMsgArrow = UIHelper.FindChild(textTrans.gameObject, "ChatMsgArrow").transform; mButton = textTrans.Find("Button").GetComponent <Button>(); mButton.gameObject.SetActive(false); mTrans = textTrans; mOwnerTrans = transform; if (mStyleInfo != null) { mBGSprite.gameObject.SetActive(mStyleInfo.IsShowBg); mPreBGSprite.gameObject.SetActive(mStyleInfo.IsShowBgPreHead); mTeamIconImage.gameObject.SetActive(mStyleInfo.IsShowTeamIcon); IsShowAffiliationPanel = mStyleInfo.IsShowAffiliationPanel; } else { mBGSprite.gameObject.SetActive(false); mPreBGSprite.gameObject.SetActive(false); IsShowAffiliationPanel = false; mTeamIconImage.gameObject.SetActive(false); } mPeakTeamIconImage.gameObject.SetActive(false); mMaxVisibleDistanceSquare = GameConstHelper.GetFloat("GAME_MWAR_ACTOR_HEAD_TEXT_MAX_VISIBLE_DISTANCE_SQUARE"); }