protected void SetTargetCharacter(BaseCharacterEntity character)
        {
            if (uiTargetCharacter == null)
            {
                return;
            }

            if (character == null)
            {
                uiTargetCharacter.Hide();
                return;
            }

            uiTargetCharacter.Data = character;
            uiTargetCharacter.Show();
        }
        protected override void UpdateData()
        {
            BaseGameData summonData = null;

            switch (Data.type)
            {
            case SummonType.Skill:
                onTypeIsSkill.Invoke();
                summonData = Data.GetSkill();
                break;

            case SummonType.Pet:
                onTypeIsPet.Invoke();
                summonData = Data.GetPetItem();
                break;
            }

            if (uiTextTitle != null)
            {
                uiTextTitle.text = string.Format(
                    LanguageManager.GetText(formatKeyTitle),
                    summonData == null ? LanguageManager.GetUnknowTitle() : summonData.Title);
            }

            if (imageIcon != null)
            {
                Sprite iconSprite = summonData == null ? null : summonData.icon;
                imageIcon.gameObject.SetActive(iconSprite != null);
                imageIcon.sprite = iconSprite;
            }

            if (uiCharacter != null)
            {
                if (summonData == null)
                {
                    uiCharacter.Hide();
                }
                else
                {
                    uiCharacter.Show();
                    uiCharacter.Data = Data.CacheEntity;
                }
            }
        }