/// <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); }
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; } }
/// <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); }
/// <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); }
/// <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); }
/// <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); }
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)); }
/// <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); }
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; } }
/// <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); } }