Exemple #1
0
    private void AddToList(UnitDetails details)
    {
        //Commander.Units.Add(details);

        GameObject button = Instantiate(UnitDetailPrefab, lstGridUnits);

        UnitControlPanel gridButton = button.GetComponent <UnitControlPanel>();

        gridButton.Initialize(details, unitCamSwitch);
        Debug.Log("Button created");
    }
Exemple #2
0
    public void setChooseControlPanel(UnitControlPanel controlPanel)
    {
        if (mChooseUnitControlPanel != null && mChooseUnitControlPanel != controlPanel)
        {
            mChooseUnitControlPanel.Select = false;
        }

        if (controlPanel != null)
        {
            controlPanel.toggleSelect();
        }

        mChooseUnitControlPanel = controlPanel;
    }
Exemple #3
0
    private void GenerateList()
    {
        if (Commander != null)
        {
            Debug.Log("GenerateList");
            for (int i = 0; i < Commander.Units.Count; i++)
            {
                GameObject button = Instantiate(UnitDetailPrefab, lstGridUnits);

                UnitControlPanel gridButton = button.GetComponent <UnitControlPanel>();
                gridButton.Initialize(Commander.Units[i], unitCamSwitch);
                Debug.Log("Button created");
            }
        }
    }
    protected override BaseUnit onCreateUnit(RemoteEventBase theEvent)
    {
        BaseUnit unit = base.onCreateUnit(theEvent);

        setChooseUnit(unit);

        UnitControlPanel panel = gameController.getIdMatchedControlPanel(unit.Id);

        if (panel != null)
        {
            unit.setLinkControlPanel(panel);
            panel.setControlObject(unit);
        }

        return(unit);
    }
    public void checkTouch(Vector3 pos)
    {
        Vector3    wp       = Camera.main.ScreenToWorldPoint(pos);
        Vector3    touchPos = new Vector3(wp.x, wp.y, wp.z);
        Collider2D hit      = Physics2D.OverlapPoint(touchPos);

        if (hit != null)
        {
            //Debug.Log(hit.transform.gameObject.name);
            //hit.transform.gameObject.SendMessage("Clicked", touchPos, SendMessageOptions.RequireReceiver);
            BaseUnit unit = hit.GetComponent <BaseUnit>();
            if (unit != null)
            {
                setChooseUnit(unit);

                if (mChooseUnit != null)
                {
                    UnitControlPanel linkedControlPanel = mChooseUnit.getLinkControlPanel();
                    if (linkedControlPanel != null)
                    {
                        setChooseControlPanel(linkedControlPanel);
                    }
                    return;
                }
            }

            UnitControlPanel controlPanel = hit.GetComponent <UnitControlPanel>();
            //TODO: fix this hack
            if (controlPanel != null && controlPanel.getPanelObject() == null)
            {
                controlPanel.setPanelObject(myUnits[0], 10);
            }

            if (controlPanel != null)
            {
                setChooseControlPanel(controlPanel);

                if (mChooseUnitControlPanel != null)
                {
                    Object controlObject = mChooseUnitControlPanel.getControlObject();
                    if (controlObject is BaseUnit && mChooseUnitControlPanel.Select)
                    {
                        setChooseUnit((BaseUnit)controlObject);
                    }
                    else
                    {
                        setChooseUnit(null);
                    }
                }

                return;
            }

            Logger.controlPanel("hit != null {0}", hit);
        }
        else
        {
            if (mChooseUnit != null)
            {
                moveUnit(touchPos);
            }

            else if (mChooseUnitControlPanel != null)
            {
                Object panelObject = mChooseUnitControlPanel.getPanelObject();
                Logger.controlPanel("control panelObject {0}", panelObject);
                if (mChooseUnitControlPanel.CooldownReady && panelObject is GameObject && ((GameObject)panelObject).GetComponent <BaseUnit>() != null)
                {
                    createUnit((GameObject)panelObject, getSpawnlocation(), touchPos, mChooseUnitControlPanel);
                    mChooseUnitControlPanel.consumeCooldownReady();
                    //setChooseControlPanel(null);
                }
            }
            else
            {
                Logger.controlPanel("clear choose");
                setChooseUnit(null);
                setChooseControlPanel(null);
            }
            Logger.controlPanel("hit == null {0}, {1}", mChooseUnit, mChooseUnitControlPanel);
        }
    }
    protected void createUnit(GameObject gameObject, Vector3 spawnPos, Vector3 touchPos, UnitControlPanel panel)
    {
        Logger.firebase("createUnit {0}", gameObject);
        Logger.controlPanel("createUnit {0}", gameObject);

        gameController.eventCreateUnit(panel.getId(), null, spawnPos, touchPos);
    }
Exemple #7
0
 public void setLinkControlPanel(UnitControlPanel panel)
 {
     linkedControlPanel = panel;
 }