コード例 #1
0
    public void HandleOnStatusApplied(PawnStatus status)
    {
        StatusFrame existingFrame = statusFrames.FirstOrDefault(s => s.StatusName == status.Name);

        if (existingFrame != null)
        {
            existingFrame.IncrementStatusCount();
        }

        else
        {
            // Get first inactive frame (if there's still some)
            StatusFrame firstEmptyFrame = statusFrames.FirstOrDefault(s => !s.gameObject.activeSelf);
            if (firstEmptyFrame != null)
            {
                firstEmptyFrame.SetStatus(status.GetType().Name);
            }
        }
    }