Ejemplo n.º 1
0
    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);
    }
Ejemplo n.º 2
0
    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);
            });
        }
    }