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"); }
public void setChooseControlPanel(UnitControlPanel controlPanel) { if (mChooseUnitControlPanel != null && mChooseUnitControlPanel != controlPanel) { mChooseUnitControlPanel.Select = false; } if (controlPanel != null) { controlPanel.toggleSelect(); } mChooseUnitControlPanel = controlPanel; }
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); }
public void setLinkControlPanel(UnitControlPanel panel) { linkedControlPanel = panel; }