InvalidCastException: Cannot cast from source type to destination type.
и не могу понять - почему?
код такой:
Синтаксис:
Используется javascript
//itemList, PlayerParams - другие скрипты
class ArmorAnim {
var armor : GameObject;
var bones : Transform[];
function GetBones() {
bones = armor.GetComponentsInChildren(Transform);
}
}
var Armors : ArmorAnim[] = new ArmorAnim[4];
function Update() {
if(inventory.updateArmorMeshes == true) {
ReArmor(itemList.ArmorList, PlayerParams.armorUpper, 0);
}
}
function ReArmor(armor : Armor[], paramsArmor : String, armorIndex : int) {
for(i = 0; i < armor.Length; i++) {
if(armor[i].name == paramsArmor) {
Armors[armorIndex].armor = Instantiate(armor[i].skinnedMeshObj);
Armors[armorIndex].armor.transform.parent = GameObject.Find("Player/Armors").transform;
Armors[armorIndex].armor.transform.localPosition =
Armors[armorIndex].armor.transform.localEulerAngles = Vector3.zero;
Armors[armorIndex].GetBones();
}
}
}
class ArmorAnim {
var armor : GameObject;
var bones : Transform[];
function GetBones() {
bones = armor.GetComponentsInChildren(Transform);
}
}
var Armors : ArmorAnim[] = new ArmorAnim[4];
function Update() {
if(inventory.updateArmorMeshes == true) {
ReArmor(itemList.ArmorList, PlayerParams.armorUpper, 0);
}
}
function ReArmor(armor : Armor[], paramsArmor : String, armorIndex : int) {
for(i = 0; i < armor.Length; i++) {
if(armor[i].name == paramsArmor) {
Armors[armorIndex].armor = Instantiate(armor[i].skinnedMeshObj);
Armors[armorIndex].armor.transform.parent = GameObject.Find("Player/Armors").transform;
Armors[armorIndex].armor.transform.localPosition =
Armors[armorIndex].armor.transform.localEulerAngles = Vector3.zero;
Armors[armorIndex].GetBones();
}
}
}
указывает на строчку Armors[armorIndex].GetBones(); и в последствии на bones = armor.GetComponentsInChildren(Transform);