public Module Spawn(RadialMenuAction action) { switch (action) { case RadialMenuAction.PROPULSION: return(Instantiate(propulsionModulePrefab)); case RadialMenuAction.FUEL: return(Instantiate(fuelModulePrefab)); case RadialMenuAction.HABITAT: return(Instantiate(habitatModulePrefab)); } throw new ArgumentException("No prefab found for action " + action); }
public void ShowSelectPrefabs(RadialMenuAction type, Action <Module> modulePrefabSelected) { GetComponent <Image> ().enabled = true; ModuleDescription[] moduleDescriptions = modules [type]; for (int i = 0; i < moduleDescriptions.GetLength(0); i++) { ModuleDescription descPrefab = moduleDescriptions [i]; ModuleDescription description = Instantiate(descPrefab); description.transform.SetParent(transform, false); description.transform.Translate(Vector3.right * i * 100f); description.GetComponent <Button>().onClick.AddListener(() => { foreach (Transform child in transform) { DestroyImmediate(child.gameObject); } GetComponent <Image> ().enabled = false; modulePrefabSelected(description.modulePrefab); }); } }