Ejemplo n.º 1
0
    private void AddAbility(Ability a, int index)
    {
        AbilityDisplay ad = AbilityDisplay.Create(abilListRoot, a);

        ad.ChangeCDColor(Bullet.DamageTypeToColor(subject.DefaultDT));
        ad.transform.SetSiblingIndex(index);
    }
Ejemplo n.º 2
0
    // Change the Entity from which the HUD will pull values
    public void SetSubject(Entity subject)
    {
        //clear old subject data
        if (subject != null)
        {
            //clear old misc
            subject.damageTypeChanged -= ChangeDamageType;

            //clear old ability list
            subject.abilityAdded   -= AddAbility;
            subject.abilityRemoved -= RemoveAbility;
            subject.abilitySwapped -= SwapAbilities;

            for (int i = 0; i < abilListRoot.childCount; i++)
            {
                Destroy(abilListRoot.GetChild(i).gameObject);
            }

            //clear old status list
            for (int i = 0; i < statListRoot.childCount; i++)
            {
                Destroy(statListRoot.GetChild(i).gameObject);
            }

            subject.statusAdded   -= AddStatus;
            subject.statusRemoved -= RemoveStatus;
        }

        //set up new subject
        this.subject = subject;
        if (subject == null)
        {
            return;
        }

        //setup ability list
        for (int i = 0; i < subject.AbilityCap; i++)
        {
            if (subject.GetAbility(i) != null)
            {
                AbilityDisplay.Create(abilListRoot, subject.GetAbility(i));
            }
        }

        subject.abilityAdded   += AddAbility;
        subject.abilityRemoved += RemoveAbility;
        subject.abilitySwapped += SwapAbilities;

        //setup status list
        foreach (Status s in subject.GetStatusList())
        {
            AddStatus(s);
        }

        subject.statusAdded   += AddStatus;
        subject.statusRemoved += RemoveStatus;

        //misc
        subject.damageTypeChanged += ChangeDamageType;
        ChangeDamageType(subject.DefaultDT);

        //TODO other clearing and resetting of elements?
    }