private static Sosig SpawnSosigAndConfigureSosig(GameObject prefab, Vector3 pos, Quaternion rot, SosigConfigTemplate t, SosigOutfitConfig w) { var componentInChildren = Object.Instantiate(prefab, pos, rot).GetComponentInChildren <Sosig>(); if (Random.Range(0.0f, 1f) < w.Chance_Headwear) { SpawnAccessoryToLink(w.Headwear, componentInChildren.Links[0]); } if (Random.Range(0.0f, 1f) < w.Chance_Facewear) { SpawnAccessoryToLink(w.Facewear, componentInChildren.Links[0]); } if (Random.Range(0.0f, 1f) < w.Chance_Eyewear) { SpawnAccessoryToLink(w.Eyewear, componentInChildren.Links[0]); } if (Random.Range(0.0f, 1f) < w.Chance_Torsowear) { SpawnAccessoryToLink(w.Torsowear, componentInChildren.Links[1]); } if (Random.Range(0.0f, 1f) < w.Chance_Pantswear) { SpawnAccessoryToLink(w.Pantswear, componentInChildren.Links[2]); } if (Random.Range(0.0f, 1f) < w.Chance_Pantswear_Lower) { SpawnAccessoryToLink(w.Pantswear_Lower, componentInChildren.Links[3]); } if (Random.Range(0.0f, 1f) < w.Chance_Backpacks) { SpawnAccessoryToLink(w.Backpacks, componentInChildren.Links[1]); } if (t.UsesLinkSpawns) { for (var index = 0; index < componentInChildren.Links.Count; ++index) { if (Random.Range(0.0f, 1f) < t.LinkSpawnChance[index]) { componentInChildren.Links[index].RegisterSpawnOnDestroy(t.LinkSpawns[index]); } } } componentInChildren.Configure(t); return(componentInChildren); }
public SosigOutfitConfig GetOutfitConfig() { if (template == null) { template = (SosigOutfitConfig)ScriptableObject.CreateInstance(typeof(SosigOutfitConfig)); template.Chance_Headwear = Chance_Headwear; template.Chance_Eyewear = Chance_Eyewear; template.Chance_Facewear = Chance_Facewear; template.Chance_Torsowear = Chance_Torsowear; template.Chance_Pantswear = Chance_Pantswear; template.Chance_Pantswear_Lower = Chance_Pantswear_Lower; template.Chance_Backpacks = Chance_Backpacks; } return(template); }
public OutfitConfig(SosigOutfitConfig template) { Headwear = template.Headwear.Select(o => o.ItemID).ToList(); Eyewear = template.Eyewear.Select(o => o.ItemID).ToList(); Facewear = template.Facewear.Select(o => o.ItemID).ToList(); Torsowear = template.Torsowear.Select(o => o.ItemID).ToList(); Pantswear = template.Pantswear.Select(o => o.ItemID).ToList(); Pantswear_Lower = template.Pantswear_Lower.Select(o => o.ItemID).ToList(); Backpacks = template.Backpacks.Select(o => o.ItemID).ToList(); Chance_Headwear = template.Chance_Headwear; Chance_Eyewear = template.Chance_Eyewear; Chance_Facewear = template.Chance_Facewear; Chance_Torsowear = template.Chance_Torsowear; Chance_Pantswear = template.Chance_Pantswear; Chance_Pantswear_Lower = template.Chance_Pantswear_Lower; Chance_Backpacks = template.Chance_Backpacks; this.template = template; }