У меня есть этот массив ингредиентов, который содержит несколько переменных (например, имя, значок, значение и т. Д.). Когда игрок превзошел определенные очки, в этот массив ингредиентов должен быть добавлен новый ингредиент. Так что у меня есть другой массив, который содержит значки и имена для новых ингредиентов (значения должны быть добавлены отдельно во время выполнения).
Но дело в том, что вы просто не можете использовать Добавить, чтобы добавить новые элементы в массив ингредиентов (также пытались дать обоим массивам одинаковые переменные), или просто добавить новый элемент в конце и заполнить элементы по отдельности.
Скрипт для разблокировки ингредиентов:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class progressManager : MonoBehaviour {
private int ingUnlockLevel;
private int lockLevel = 0;
private int newIngScore = 500;
public List<ingUnlocks> ingUnlock = new List<ingUnlocks>();
public List<GameObject> lockedCraft = new List<GameObject>();
public Texture locks;
public Texture normal;
private bool upGrade;
public TextMesh nextIngredient;
// Update is called once per frame
void Update () {
nextIngredient.text = ingUnlock[lockLevel].name;
ingUnlockLevel = GetComponent<gameMechanics>().headScore;
if(ingUnlockLevel >= newIngScore){upGrade = true;}
if(upGrade == true){
GetComponent<productManager>().ingredient.;
newIngScore = newIngScore *2;
lockLevel+=1;
upGrade = false;
}
}
[System.Serializable]
public class ingUnlocks{
public string name;
public Texture icon;
}
}
И часть скрипта для ингредиентов игроков:
using UnityEngine;
using System;
using System.Linq;
using System.Collections;
using System.Collections.Generic;
public class productManager : MonoBehaviour {
private class ingredientComparer : IComparer<ingredients>{
public int Compare(ingredients a, ingredients b)
{
return ((int) a.c2cPerc ) - ((int) b.c2cPerc);
}
}
public List<ingredients> ingredient = new List<ingredients>();
}
[System.Serializable]
public class ingredients{
public string name;
public Texture icon;
public int score;
public int quantity;
public float c2cPerc;
public bool usable;
}
Есть ли способ добавить новое имя и значок из массива разблокировки в массив ингредиентов игроков?
Заранее спасибо!