public DataAttackNext GetData()
    {
        DataAttackNext data = new DataAttackNext();

        data.category   = category;
        data.value      = value;
        data.nextAttack = panel.GetAttacks().ElementAt(attack);
        return(data);
    }
        public BossAttackNext(Boss boss, DataAttackNext dan, LevelManager mgLevel)
        {
            next = boss.GetAttack(dan.nextAttack);
            NextAttackCategory category = (NextAttackCategory)M.GetEnum <NextAttackCategory>(dan.category);

            switch (category)
            {
            case NextAttackCategory.HEALTH:
                switch ((NextAttackValueHealth)M.GetEnum <NextAttackValueHealth>(dan.value))
                {
                case NextAttackValueHealth.LOW: check = delegate { return(boss.health.GetPerc() < 0.35f); };
                    break;

                case NextAttackValueHealth.MED:
                    check = delegate { return(boss.health.GetPerc() >= 0.35f && boss.health.GetPerc() <= 0.65); };
                    break;

                case NextAttackValueHealth.HIGH: check = delegate { return(boss.health.GetPerc() > 0.65f); };
                    break;
                }
                break;

            case NextAttackCategory.POSITION:
                switch ((NextAttackValuePosition)M.GetEnum <NextAttackValuePosition>(dan.value))
                {
                case NextAttackValuePosition.LEFT: check = delegate { return(mgLevel.GetSignedPercToMid(boss.gameObject) < 0f); };
                    break;

                case NextAttackValuePosition.MID: check = delegate { return(mgLevel.GetSignedPercToMid(boss.gameObject) > -0.3f && mgLevel.GetSignedPercToMid(boss.gameObject) < 0.3f); };
                    break;

                case NextAttackValuePosition.RIGHT: check = delegate { return(mgLevel.GetSignedPercToMid(boss.gameObject) > 0f); };
                    break;
                }
                break;
            }
        }
 public void Load(DataAttackNext next)
 {
     SetCategory(next.category);
     SetValue(next.value);
     SetAttack(next.nextAttack.name.value, panel.GetAttacks().IndexOf(next.nextAttack));
 }
Beispiel #4
0
    public void LoadNextAttackPanel(DataAttackNext next)
    {
        var c = CreateNextAttackPanel();

        c.Load(next);
    }