public EnemyData GetEnemyData(int id, int serialNumber) { if (levelEnemyData.ContainsKey(serialNumber)) { return(levelEnemyData[serialNumber]); } else { EnemyData result = Array.Find(enemyDatas, data => data.id == id); if (result == null) { throw new UnityException($"Enemy id {id} was not defined"); } levelEnemyData[serialNumber] = result.Clone(); return(levelEnemyData[serialNumber]); } }