public void SetHeartsHealthSystem(HeartHealthSystem heartHealthSystem)
    {
        this.heartHealthSystem  = heartHealthSystem;
        heartHealthSystemStatic = heartHealthSystem;

        List <HeartHealthSystem.Heart> heartList = heartHealthSystem.GetHeartList();
        int   row        = 0;
        int   col        = 0;
        int   colMax     = 5;
        float rowColSize = 45f;

        for (int i = 0; i < heartList.Count; i++)
        {
            HeartHealthSystem.Heart heart = heartList[i];
            Vector2 heartAnchoredPosition = new Vector2(col * rowColSize, -row * rowColSize);
            CreateHeartImage(heartAnchoredPosition).SetHeartFragments(heart.GetFragmentAmount());

            col++;
            if (col >= colMax)
            {
                row++;
                col = 0;
            }
        }

        heartHealthSystem.OnDamaged += HeartHealthSystem_OnDamaged;
        heartHealthSystem.OnHealed  += HeartHealthSystem_OnHealed;
        heartHealthSystem.OnDead    += HeartHealthSystem_OnDead;
    }
    private void HealingAnimatedPeriodic()
    {
        if (isHealing)
        {
            bool fullyHealed = true;
            List <HeartHealthSystem.Heart> heartList = heartHealthSystem.GetHeartList();
            for (int i = 0; i < heartList.Count; i++)
            {
                HeartImage heartImage         = heartImageList[i];
                HeartHealthSystem.Heart heart = heartList[i];
                if (heartImage.GetFragmentAmount() != heart.GetFragmentAmount())
                {
                    // Visual is different from logic
                    heartImage.AddHeartVisualFragment();
                    if (heartImage.GetFragmentAmount() == HeartHealthSystem.MAX_FRAGMENT_AMOUNT)
                    {
                        // Heart was fully healed
                        heartImage.PlayHeartFullAnimation();
                    }
                    fullyHealed = false;
                    break;
                }
            }

            if (fullyHealed)
            {
                isHealing = false;
            }
        }
    }
    public void RefreshAllHearts()
    {
        List <HeartHealthSystem.Heart> heartList = heartHealthSystem.GetHeartList();

        for (int i = 0; i < heartImageList.Count; i++)
        {
            HeartImage heartImage         = heartImageList[i];
            HeartHealthSystem.Heart heart = heartList[i];
            heartImage.SetHeartFragment(heart.GetFragmentAmount());
        }
    }
Beispiel #4
0
    private void RefreshHearts()
    {
        List <HeartHealthSystem.Heart> heartList = healthSystem.getHeartList();

        for (int i = 0; i < heartImagelist.Count; i++)
        {
            HeartImage image = heartImagelist[i];
            HeartHealthSystem.Heart heart = heartList[i];
            image.setHeartFragment(healthSystem.getHeartList()[i].GetFragments());
        }
    }
    private void RefreshHearts()
    {
        // Hearts health system was damaged
        List <HeartHealthSystem.Heart> heartList = heartHealthSystem.GetHeartList();

        for (int i = 0; i < heartImageList.Count; i++)
        {
            HeartImage heartImage         = heartImageList[i];
            HeartHealthSystem.Heart heart = heartList[i];
            heartImage.SetHeartFragments(heart.GetFragmentAmount());
        }
    }
Beispiel #6
0
    public void SetHeartHealthSystem(HeartHealthSystem system)
    {
        healthSystem = system;

        List <HeartHealthSystem.Heart> heartlist = healthSystem.getHeartList();
        Vector2 anchoredPos = new Vector2(0, 0);

        for (int i = 0; i < heartlist.Count; i++)
        {
            HeartHealthSystem.Heart heart = heartlist[i];
            CreateHeart(anchoredPos).setHeartFragment(heart.GetFragments());
            anchoredPos += new Vector2(55, 0);
        }

        healthSystem.onDamaged += HeartHealthSystem_onDamaged;
        healthSystem.onHeal    += HeartHealthSystem_onHeal;
    }
    public void SetHeartHealthSystem(HeartHealthSystem heartsHealthSystem)
    {
        this.heartHealthSystem  = heartsHealthSystem;
        heartHealthSystemStatic = heartsHealthSystem;

        Vector2 heartAnchoredPosition            = new Vector2(-350, 250);
        List <HeartHealthSystem.Heart> heartList = heartHealthSystem.GetHeartList();

        for (int i = 0; i < heartList.Count; i++)
        {
            HeartHealthSystem.Heart heart = heartList[i];
            CreateHeartImage(heartAnchoredPosition).SetHeartFragment(heart.GetFragmentAmount());
            heartAnchoredPosition += new Vector2(40, 0);
        }

        heartsHealthSystem.OnDamaged += HeartsHealthSystem_OnDamaged;
        heartsHealthSystem.OnHealed  += HeartsHealthSystem_OnHealed;
        heartsHealthSystem.OnDead    += HeartsHealthSystem_OnDead;
    }