void OpenPanel(PanelOpenSignal signal) { var v = signal.SelectedVehicle; Vehicle3D result = null; result = _vehicles3D.GetItem(v.Id); if (result != null) { Debug.Log("panello trovato"); _vehicles3D.RemoveItem(v.Id); result.Dispose(); } else { AddVehicle3D(v); } }
void OpenPanel(PanelOpenSignal signal) { //Debug.Log("[OpenPanel]"); var v = signal.SelectedVehicle; VehicleDetailsPanelView result = null; if (_panels.ContainsKey(v.Id)) { result = _panels[v.Id]; } if (result != null) { //Debug.Log("panello trovato"); if (result.Closing()) { //Debug.Log("panello in chiusura, lo riapro"); result.Show(); } else { //Debug.Log("panello da chiudere"); DoPanelClose(result); } } else { //Debug.Log("panello da creare e aprire"); //Debug.Log("_panels.Count: " + _panels.Count); VehicleDetailsPanelView newPanel = _panelFactory.Create(v); newPanel.transform.SetParent(_canvasTransform); newPanel.Show(); System.Random random = new System.Random(); int x = random.Next(-400, 400); int y = random.Next(-300, 300); newPanel.GetComponent <RectTransform>().anchoredPosition = new Vector2(x, y); if (_panels.TryAdd(v.Id, newPanel)) { //Debug.Log("panel added"); } //Debug.Log("after Add: _panels.Count=" + _panels.Count); /* * if(v.Avm) * { * Vehicle3D vehicle3D = null; * if(v.CodiceFamiglia==model.CodiceFamigliaEnum.EXTRAURBANO) * vehicle3D = _extraurbanoFactory.Create(v); * else * vehicle3D = _urbanoFactory.Create(v); * * // _vehicles3D.AddItem(v.Id, vehicle3D); * } */ } _scoreLabel.text = "Panels: " + _panels.Count.ToString(); RemoveOldPanels(); }