Пример #1
0
    void InitTrainingData()
    {
        StatType stat1, stat2, stat3;

        if (heroType == HeroType.NonBattle)
        {
            stat1 = StatType.ProductionPower;
            stat2 = StatType.CollectPower;
            stat3 = StatType.TaxPower;
        }
        else
        {
            stat1 = StatType.MaxHP;
            stat2 = StatType.AttackPower;
            stat3 = StatType.DefensePower;
        }

        if (trainingDataList.Count > 0)
        {
            trainingDataList[0].training = training1;
            trainingDataList[1].training = training2;
            trainingDataList[2].training = training3;
        }
        else
        {
            string key = "training1";

            TrainingData trainingData1 = new TrainingData();
            trainingData1.key       = key;
            trainingData1.paramName = stats.GetParam(stat1).baseData.name;
            trainingData1.training  = training1;
            trainingDataList.Add(trainingData1);

            key = "training2";

            TrainingData trainingData2 = new TrainingData();
            trainingData2.key       = key;
            trainingData2.paramName = stats.GetParam(stat2).baseData.name;
            trainingData2.training  = training2;
            trainingDataList.Add(trainingData2);

            key = "training3";

            TrainingData trainingData3 = new TrainingData();
            trainingData3.key       = key;
            trainingData3.paramName = stats.GetParam(stat3).baseData.name;
            trainingData3.training  = training3;
            trainingDataList.Add(trainingData3);
        }
    }
Пример #2
0
    virtual protected void Update()
    {
        //넉백 띄우기 등
        if (Time.timeScale == 0f)
        {
            return;
        }

        Vector3 destPos = transform.position + new Vector3(addedForce.x, 0f, 0f);

        transform.position = destPos;

        if (addedForce != Vector3.zero)
        {
            addedForce *= 0.8f;
        }

        if (addedForce.magnitude < 0.1f)
        {
            addedForce = Vector3.zero;
        }


        if (Time.time > lastHPRegenTime + 1f)
        {
            if (!isDie && curHP < maxHP)
            {
                Stat statHPRegen = stats.GetParam(StatType.HPRegen);
                if (statHPRegen != null)
                {
                    double hpRegen = statHPRegen.value;

                    double regenAmount = hpRegen * 0.2f * (Time.time - lastHPRegenTime);
                    //if (regenAmount >= 1)
                    {
                        curHP          += regenAmount;
                        lastHPRegenTime = Time.time;
                    }
                }
            }
        }



        if (isSummonded && lifeTime >= 0f)
        {
            lifeTime -= Time.deltaTime;
            if (lifeTime <= 0f)
            {
                curHP = 0;
                //Despawn();
                //SetBattleGroup(null);
            }
        }

        //살라딘 스킬용 변수 초기화 하드코딩
        string heroID = master.heroData.heroID;

        if (heroID.Contains("Saladin"))
        {
            if (saveTime < Time.time)
            {
                saveTime = Time.time + 1f;

                if (curHP != 0 || !isDie)
                {
                    beforeHP[order] = curHP;

                    order++;
                    if (order == 5)
                    {
                        order = 0;
                    }
                }
            }
        }
    }