void RenderMenuItem(IsoLayerModel data, GameObject parent, Layer belongLayer) { for (int i = 0; i < data.FactoryModel.Count; i++) { GameObject item = new GameObject("item"); ImportItemManager.AddRightClickEvent(item); // Add image component. Image imgItem = item.AddComponent <Image> (); string url = data.FactoryModel [i].filePath; Vector2 offset = data.FactoryModel [i].offset; Sprite result = resources.Find(x => x.path == url).Sprite; result = Ultils.ChangeOffset(result, offset); imgItem.sprite = result; AddRatioFitter(item, imgItem); SetItemParent(parent, item); IsoObjectFactory factory = item.AddComponent <IsoObjectFactory> (); factory.FilePath = url; factory.offset = offset; belongLayer.isoFactories.Add(factory); UnityEngine.UI.Button btnItem = item.AddComponent <UnityEngine.UI.Button> (); btnItem.onClick.AddListener(() => { ImportItemManager.loadedImage = btnItem.image.sprite; IsoObjectFactory.instance = factory; belongLayer.NewObject(); }); } }
public IsoLayerModel FromLayer(Layer layer) { IsoLayerModel model = new IsoLayerModel(); model.layerId = layer.layerID; model.layerName = layer.gameObject.name; model.visible = (layer.gameObject.activeSelf) ? true : false; for (int i = 0; i < layer.isoFactories.Count; i++) { model.FactoryModel.Add(new IsoFactoryModel(layer.isoFactories[i])); } for (int i = 0; i < layer.transform.childCount; i++) { IsoObject obj = layer.transform.GetChild(i).GetComponent <IsoObject> (); if (obj != null) { IsoObjectModel objModel = new IsoObjectModel(); objModel = objModel.FromIsoObject(obj); model.objects.Add(objModel); } } return(model); }
Layer CreateEmptyLayer(IsoLayerModel model) { IsoLayerManager.layernames.Add(model.layerName); Layer layer = IsoLayerManager.CreateLayer(model.layerName, model.layerId); layer.gameObject.SetActive(model.visible); return(layer); }
public void ConvertAllLayer() { for (int i = 0; i < IsoLayerManager.layernames.Count; i++) { GameObject objLayer = IsoLayerManager.instance.layers [i].gameObject; Layer isolayer = objLayer.GetComponent <Layer> (); IsoLayerModel model = new IsoLayerModel(); model = model.FromLayer(isolayer); layers.Add(model); } }
void RenderLayer(IsoLayerModel model) { Layer layer = CreateEmptyLayer(model); GameObject buttonGameObject = IsoLayerManager.CreateNewButtonOnLayerMenu(model.layerName); CreateLayerToggle(model, layer, buttonGameObject); GameObject dialog = IsoLayerManager.CreateLayerMenuItem(); IsoLayerManager.SetOnClickNewButton(layer, buttonGameObject, dialog); RenderMenuItem(model, dialog, layer); for (int i = 0; i < model.objects.Count; i++) { RenderObject(model.objects [i], layer); } }
void CreateLayerToggle(IsoLayerModel model, Layer layer, GameObject button) { Toggle toggle = IsoLayerManager.CreateToggle(button, layer); toggle.isOn = model.visible; }