public void Build(Buildable buildable, BuildableSlot slot)
 {
     if (slot.SlotState == BuildableSlot.SlotStates.EMPTY)
     {
         GameObject newTower = Instantiate(buildable.Prefab, slot.transform.position, slot.transform.rotation);
         slot.AssignContent(newTower);
     }
 }
    public BuildDialog CreateBuildDialog(BuildableSlot slot, RectTransform parent)
    {
        BuildDialog newDialog = this.fact_BuildDialog.Create();

        newDialog.transform.SetParent(parent);
        newDialog.transform.localPosition = Vector3.zero;
        newDialog.Init(slot);
        return(newDialog);
    }
Beispiel #3
0
    public void ShowBuildDialog(BuildableSlot slot)
    {
        if (this.buildDialog != null)
        {
            BuildDialog oldDialog = this.buildDialog;
            this.buildDialog.Close(false, () =>
            {
                Destroy(oldDialog.gameObject);
            });
        }

        this.buildDialog = this.uiFactory.CreateBuildDialog(slot, this.root_BuildDialog);
        this.isOpen      = true;
    }
Beispiel #4
0
    public void Init(BuildableSlot slot)
    {
        this.slot = slot;
        BuildDialogItem item = null;

        for (int i = 0; i < slot.PossibleBuildables.Length; i++)
        {
            item = this.uiFactory.CreateBuildDialogItem(slot.PossibleBuildables[i], this.itemsFrame);

            item.Clicked += Item_Clicked;
            item.transform.localPosition =
                new Vector3(ICON_MARGIN, 0f, 0f) +
                new Vector3((BuildDialogItem.FRAME_WIDTH + ICON_MARGIN) * i, 0f, 0f);
        }
    }