Beispiel #1
0
    APFStatusIconUI GetStatusIcon(PFTable.Card.StatusIcon statusIconType)
    {
        if (StatusIconList != null)
        {
            APFStatusIconUI statusIcon = StatusIconList.Find(comp =>
            {
                return(comp.StatusIconType == statusIconType);
            });

            return(statusIcon);
        }

        return(null);
    }
Beispiel #2
0
    private APFStatusIconUI AddStatusIcon(PFTable.Card.StatusIcon statusIconType, int statusKeepTurnCount)
    {
        APFStatusIconUI newStatusIcon = PFUtil.Instantiate <APFStatusIconUI>(PFPrefabPath.StatusIcon, StatusIcon_UIGrid.gameObject, Vector3.zero);

        StatusIcon_UIGrid.repositionNow = true; //grid에 새 요소를 추가한후, 위치를 재정비한다.

        string statusIconPath = PFCardTable.GetStatusIconPath(statusIconType);

        UnityEngine.Sprite sprite = Resources.Load <UnityEngine.Sprite>(statusIconPath);

        newStatusIcon.StatusIconType = statusIconType;
        newStatusIcon.SetStatusKeepTurnCount(statusKeepTurnCount);
        newStatusIcon.StatusIconImage.sprite2D = sprite;

        StatusIconList.Add(newStatusIcon);

        return(newStatusIcon);
    }
Beispiel #3
0
    public virtual void OnUseCard(PFTable.Card card, APFCharacter target)
    {
        if (card != null)
        {
            if (card.shield > 0)
            {
                int newShieldVal = Shield + card.shield;
                SetShieldValue(newShieldVal);
            }

            if (card.statusIcon != PFTable.Card.StatusIcon.None)
            {
                APFStatusIconUI statusIcon = GetStatusIcon(card.statusIcon);
                if (statusIcon == null)
                {
                    AddStatusIcon(card.statusIcon, card.statusKeepTurnCount);
                }
                else
                {
                    int newStatusKeepTurnCount = statusIcon.GetStatusKeepTurnCount() + card.statusKeepTurnCount;
                    statusIcon.SetStatusKeepTurnCount(newStatusKeepTurnCount);
                }
            }

            if (card.statusIcon_target != PFTable.Card.StatusIcon.None)
            {
                APFStatusIconUI statusIcon = target.GetStatusIcon(card.statusIcon_target);
                if (statusIcon == null)
                {
                    target.AddStatusIcon(card.statusIcon_target, card.statusKeepTurnCount);
                }
                else
                {
                    int newStatusKeepTurnCount = statusIcon.GetStatusKeepTurnCount() + card.statusKeepTurnCount;
                    statusIcon.SetStatusKeepTurnCount(newStatusKeepTurnCount);
                }
            }
        }
    }