データベースにコストのパラメータを追加する

コストのパラメータの追加
using System;
using UnityEngine;
[Serializable]
public class SpawnStatus
{
[Range(1, 8)]
public int repeatCount;
[Range(1, 10)]
public int moveSpeed;
[Range(1, 5)]
public int HP;
// ★追加
public int cost;
// コストの計算式・・・>cost = repeatCount * moveSpeed * HP * 10
public void CalculateCost()
{
cost = repeatCount * moveSpeed * HP * 10;
}
}
インスペクター上の数値をリアルタイムで変更する
using System.Collections.Generic;
using UnityEngine;
[CreateAssetMenu]
public class SpawnDatabase : ScriptableObject
{
public List<SpawnStatus> spawnList = new List<SpawnStatus>();
// インスペクター上の数値をリアルタイムで変更する(テクニック)
private void OnValidate()
{
foreach (var sp in spawnList)
{
if (sp != null)
{
sp.CalculateCost();
}
}
}
}

【Unity6版】TowerDX(全 回)
他のコースを見る
コストのパラメータの追加
using System;
using UnityEngine;
[Serializable]
public class SpawnStatus
{
[Range(1, 8)]
public int repeatCount;
[Range(1, 10)]
public int moveSpeed;
[Range(1, 5)]
public int HP;
// ★追加
public int cost;
// コストの計算式・・・>cost = repeatCount * moveSpeed * HP * 10
public void CalculateCost()
{
cost = repeatCount * moveSpeed * HP * 10;
}
}
インスペクター上の数値をリアルタイムで変更する
using System.Collections.Generic;
using UnityEngine;
[CreateAssetMenu]
public class SpawnDatabase : ScriptableObject
{
public List<SpawnStatus> spawnList = new List<SpawnStatus>();
// インスペクター上の数値をリアルタイムで変更する(テクニック)
private void OnValidate()
{
foreach (var sp in spawnList)
{
if (sp != null)
{
sp.CalculateCost();
}
}
}
}

データベースにコストのパラメータを追加する