Heyo Leute,
ich brauche wirklich Hilfe bei dieser Angelegenheit, sitze seit 3 Tagen und nach etlichen g>ooglen und selber ausprobieren, komme ich iwie einfach nicht drauf, ich habe iwie auch gerade nen Brett vorm Kopf ..
Es geht um ein Programm, wo ich Zur laufzeit, aus bestehenden Prefabs (es gibt 4 versch. Kategoriren, Cake, Gum, Ice, Bonbon) und aus diesen möchte ich zufällig einen ermitteln (das habe ich hinbekommen!) und basierend auf dieser SOrt, möchte ich ganz gerne eine Prefab instanz zur Laufzeit erzeugen
(habe ich auch hinbekommen!) bzw mehr oder weniger, sie werden falsch positioniert
// {Cake, Candy1}
// {Cake, Candy2}
// {Gum, Candy3}
// {Gum, Candy4}
// {Cake, Candy5}
// {Cake, Candy6}
// {Gum, Candy7}
// {Cake, Candy8}
Nun ist es iwie so, das bei der Funktion "BakeCandyFromCategory" die Candies irgendwie SO erzeugt werden? (look image below!)
hier die Funktion dazu, ich weiß nicht iwie, wieso er die so produziert, vorher ging alles richtig, und seit dem ich die Funktion in die statische Klasse ausgelagert habe, geht das net mehr, habe wie gesagt, nen brett vor dem Kopf...
|
C#-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
public static Candy BakeCandyFromCategory(Transform transform, Vector3 tilePos, SpecificItemCategory category)
{
Candy tmp = new Candy(category);
GameObject prototypeByCategory = null;
prototypeByCategory = allCandyPrototypes.First(x => x.name == tmp.Tag); //das ist ein Empty GameObject und die Kinder sind die 4 anderen
//KategoryPrefabs!
GameObject _clone()
{
var clone = UnityEngine.Object.Instantiate(prototypeByCategory, tilePos, prototypeByCategory.transform.rotation);
clone.transform.SetParent(transform, false);
clone.SetActive(true);
if (clone == null)
throw new ArgumentNullException(nameof(clone) + " couldnt be instantiated for some reason");
return clone;
}
tmp.Prefab = _clone();
//print(tmp.Tag);
return tmp;
}
|
Ich danke im voraus schon für eure Geduld beim Lesen und niochmehr wenn jemand eine Idee dazu hat
LG