开始开发
This commit is contained in:
53
Assets/Script/CopyFontTextMessage.cs
Normal file
53
Assets/Script/CopyFontTextMessage.cs
Normal file
@@ -0,0 +1,53 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Serialization;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class CopyFontTextMessageOrContentSizeFitter : MonoBehaviour
|
||||
{
|
||||
private Text _text;
|
||||
public MessageType messageType;
|
||||
public Text childRect;
|
||||
public RectTransform prentRect;
|
||||
private RectTransform _headRect;
|
||||
private RectTransform _nameRect;
|
||||
private RectTransform _spriteRect;
|
||||
private void Start()
|
||||
{
|
||||
_text=this.GetComponent<Text>();
|
||||
_headRect=prentRect.Find("head").GetComponent<RectTransform>();
|
||||
_nameRect=prentRect.Find("name").GetComponent<RectTransform>();
|
||||
_spriteRect=prentRect.Find("sprite").GetComponent<RectTransform>();
|
||||
if (messageType == MessageType.Text)
|
||||
{
|
||||
_spriteRect.gameObject.SetActive(false);
|
||||
_text.gameObject.SetActive(true);
|
||||
}else if (messageType == MessageType.Sprite)
|
||||
{
|
||||
_spriteRect.gameObject.SetActive(true);
|
||||
_text.gameObject.SetActive(false);
|
||||
}
|
||||
}
|
||||
|
||||
void Update()
|
||||
{
|
||||
childRect.text = _text.text;
|
||||
float screenHeight = 0;
|
||||
if (messageType == MessageType.Text)
|
||||
{
|
||||
screenHeight = _headRect.sizeDelta.y+ _nameRect.sizeDelta.y + _text.rectTransform.sizeDelta.y;
|
||||
}else if (messageType == MessageType.Sprite)
|
||||
{
|
||||
screenHeight = _headRect.sizeDelta.y+ _nameRect.sizeDelta.y + _spriteRect.sizeDelta.y;
|
||||
}
|
||||
prentRect.sizeDelta = new Vector2(prentRect.sizeDelta.x, screenHeight);
|
||||
}
|
||||
}
|
||||
|
||||
public enum MessageType
|
||||
{
|
||||
Text,
|
||||
Sprite,
|
||||
}
|
||||
Reference in New Issue
Block a user