示例#1
0
    /// <summary>
    /// 增加恶棍图标
    /// </summary>
    public void AddStatusIconForRascal()
    {
        CharacterStatusIconBean statusIconData = new CharacterStatusIconBean();
        Sprite iconGuestTeam = IconDataHandler.Instance.manager.GetIconSpriteByName("devil_1");

        statusIconData.iconStatus = CharacterStatusIconEnum.NpcType;
        statusIconData.spIcon     = iconGuestTeam;
        characterStatusIcon.AddStatusIcon(statusIconData);
    }
示例#2
0
 public void SetData(CharacterStatusIconBean statusIconData)
 {
     this.statusIconData = statusIconData;
     srIcon.sprite       = statusIconData.spIcon;
     srIcon.color        = statusIconData.spColor;
     if (iconAnimator != null && statusIconData.iconAnimatorController != null)
     {
         iconAnimator.runtimeAnimatorController = statusIconData.iconAnimatorController;
     }
 }
示例#3
0
    /// <summary>
    /// 增加好友图标
    /// </summary>
    public void AddStatusIconForFriend()
    {
        CharacterStatusIconBean statusIconData = new CharacterStatusIconBean();
        Sprite iconGuestTeam = IconDataHandler.Instance.manager.GetIconSpriteByName("ui_features_favorability");

        statusIconData.iconStatus = CharacterStatusIconEnum.NpcType;
        statusIconData.spColor    = Color.red;
        statusIconData.spIcon     = iconGuestTeam;
        characterStatusIcon.AddStatusIcon(statusIconData);
    }
示例#4
0
    /// <summary>
    /// 增加团队图标
    /// </summary>
    /// <param name="iconColor"></param>
    public void AddStatusIconForGuestTeam(Color iconColor)
    {
        CharacterStatusIconBean statusIconData = new CharacterStatusIconBean();
        Sprite iconGuestTeam = IconDataHandler.Instance.manager.GetIconSpriteByName("team_2");

        statusIconData.iconStatus = CharacterStatusIconEnum.NpcType;
        statusIconData.spColor    = iconColor;
        statusIconData.spIcon     = iconGuestTeam;
        characterStatusIcon.AddStatusIcon(statusIconData);
    }
示例#5
0
    /// <summary>
    /// 创建图标
    /// </summary>
    /// <param name="itemData"></param>
    /// <param name="iconPosition"></param>
    /// <returns></returns>
    public GameObject CreateStatusIcon(CharacterStatusIconBean itemData, Vector3 iconPosition)
    {
        GameObject objStatus = Instantiate(gameObject, objIconModel);

        objStatus.transform.localPosition = iconPosition;
        CharacterStatusIconItemCpt itemCpt = objStatus.GetComponent <CharacterStatusIconItemCpt>();

        itemCpt.SetData(itemData);
        listStatusIcon.Add(itemCpt);
        objStatus.transform.DOScale(new Vector3(0, 0, 0), 0.5f).From().SetEase(Ease.OutBack);
        return(objStatus);
    }
示例#6
0
    /// <summary>
    /// 增加状态效果图标
    /// </summary>
    /// <param name="iconName"></param>
    /// <param name="spColor"></param>
    public void AddStatusIconForEffect(Sprite spIcon, Color spColor, string markId)
    {
        if (spIcon == null)
        {
            return;
        }
        CharacterStatusIconBean statusIconData = new CharacterStatusIconBean();

        statusIconData.iconStatus = CharacterStatusIconEnum.Effect;
        statusIconData.spColor    = Color.white;
        statusIconData.spIcon     = spIcon;
        statusIconData.markId     = markId;
        characterStatusIcon.AddStatusIcon(statusIconData);
    }
示例#7
0
    public void AddStatusIcon(CharacterStatusIconBean statusData)
    {
        //获取新的位置
        float totalX = (listStatusIcon.Count) * 0.5f;
        float startX = -(totalX / 2f);

        //设置新的位置
        for (int i = 0; i < listStatusIcon.Count; i++)
        {
            CharacterStatusIconItemCpt itemCpt = listStatusIcon[i];
            itemCpt.transform.DOLocalMoveX(startX + i * 0.5f, 0.5f);
        }
        //创建添加的图标
        CreateStatusIcon(statusData, new Vector3(startX + listStatusIcon.Count * 0.5f, objIconModel.transform.localPosition.y));
    }
示例#8
0
    /// <summary>
    /// 添加进度图标
    /// </summary>
    /// <param name="spIcon"></param>
    /// <param name="markId"></param>
    public void AddStatusIconForPro(Sprite spIcon, RuntimeAnimatorController runtimeAnimator, string markId)
    {
        if (spIcon == null)
        {
            return;
        }
        CharacterStatusIconBean statusIconData = new CharacterStatusIconBean();

        statusIconData.iconStatus             = CharacterStatusIconEnum.Pro;
        statusIconData.spColor                = Color.white;
        statusIconData.spIcon                 = spIcon;
        statusIconData.markId                 = markId;
        statusIconData.iconAnimatorController = runtimeAnimator;
        characterStatusIcon.AddStatusIcon(statusIconData);
    }
示例#9
0
    public void SetMood(PraiseTypeEnum mood)
    {
        string spKey = "";

        switch (mood)
        {
        case PraiseTypeEnum.Excited:
            spKey = "customer_mood_0";
            break;

        case PraiseTypeEnum.Happy:
            spKey = "customer_mood_1";
            break;

        case PraiseTypeEnum.Okay:
            spKey = "customer_mood_2";
            break;

        case PraiseTypeEnum.Ordinary:
            spKey = "customer_mood_3";
            break;

        case PraiseTypeEnum.Disappointed:
            spKey = "customer_mood_4";
            break;

        case PraiseTypeEnum.Anger:
            spKey = "customer_mood_5";
            break;
        }
        //避免实时更新带来的多次调用
        if (spCurrent == null || !spCurrent.name.Contains(spKey))
        {
            Sprite spIcon = IconDataHandler.Instance.manager.GetIconSpriteByName(spKey);
            CharacterStatusIconBean statusIconData = new CharacterStatusIconBean();
            statusIconData.iconStatus = CharacterStatusIconEnum.Mood;
            statusIconData.spIcon     = spIcon;
            characterStatusIcon.ChangeStatusIcon(statusIconData);
            spCurrent = spIcon;
        }
    }
示例#10
0
    /// <summary>
    /// 修改图标
    /// </summary>
    /// <param name="statusData"></param>
    public void ChangeStatusIcon(CharacterStatusIconBean statusData)
    {
        bool hasData = false;

        for (int i = 0; i < listStatusIcon.Count; i++)
        {
            CharacterStatusIconItemCpt itemData = listStatusIcon[i];
            if (itemData.statusIconData.iconStatus == statusData.iconStatus)
            {
                hasData = true;
                itemData.statusIconData.spIcon  = statusData.spIcon;
                itemData.statusIconData.spColor = statusData.spColor;
                itemData.SetData(itemData.statusIconData);
                itemData.transform.localScale = new Vector3(1, 1, 1);
                itemData.transform.DOScale(new Vector3(0, 0, 0), 0.5f).From().SetEase(Ease.OutBack);;
            }
        }
        if (!hasData)
        {
            AddStatusIcon(statusData);
        }
    }