Beispiel #1
0
    public void InitializeAssemblyButtons()
    {
        CollectAllPurchaseables();
        assemblyButtonList.Clear();
        foreach (Transform child in assemblyButtonStart)
        {
            Destroy(child.gameObject);
        }

        // Condense these two into a single function later.
        for (int i = 0; i < assemblies.Length; i++)
        {
            GameObject butt = (GameObject)Instantiate(assemblyButton, assemblyButtonStart.position + Vector3.right * (purchaseButtonSize) * i, Quaternion.identity);
            assemblyButtonList.Add(butt.GetComponent <LoadAssemblyButton> ());
            butt.transform.SetParent(assemblyButtonParent, true);
            LoadAssemblyButton button = butt.GetComponent <LoadAssemblyButton> ();
            button.assembly = assemblies[i];

            AddAssemblyButtonListener(butt.GetComponent <Button> (), button);
            button.Initialize();
        }

        for (int i = 0; i < specialAssemblies.Length; i++)
        {
            GameObject butt = (GameObject)Instantiate(assemblyButton, firstTopButton.position + Vector3.left * (purchaseButtonSize) * i, Quaternion.identity);
            assemblyButtonList.Add(butt.GetComponent <LoadAssemblyButton> ());
            butt.transform.SetParent(firstTopButton, true);
            LoadAssemblyButton button = butt.GetComponent <LoadAssemblyButton> ();
            button.assembly = specialAssemblies[i];

            AddAssemblyButtonListener(butt.GetComponent <Button> (), button);
            button.Initialize();
        }
    }
Beispiel #2
0
    void AddAssemblyButtonListener(Button button, LoadAssemblyButton loadButton)
    {
        button.onClick.AddListener(() => {
            loadButton.Purchase();
        });

        button.GetComponent <HoverContextElement>().text         = loadButton.assemblyName + ", " + loadButton.cost.ToString() + " LoC";
        button.transform.Find("Text").GetComponent <Text>().text = loadButton.assemblyName;
    }
Beispiel #3
0
    public static void GetButtonData(Assembly assembly, LoadAssemblyButton button)
    {
        List <GameObject> objects = new List <GameObject>();
        int        cost           = 0;
        GameObject module         = null;

        for (int i = 0; i < assembly.parts.Count; i++)
        {
            module = PurchaseMenu.cur.GetModulePrefab(assembly.parts[i].type);
            if (module)
            {
                objects.Add(module);
                cost += module.GetComponent <Module>().moduleCost;
            }

            button.assemblyName = assembly.assemblyName;
        }
        button.requiredModules = objects.ToArray();
        button.cost            = cost;
    }