Ejemplo n.º 1
0
    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);
    }
Ejemplo n.º 3
0
    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);
     }
 }
Ejemplo n.º 5
0
    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);
        }
    }
Ejemplo n.º 6
0
    void CreateLayerToggle(IsoLayerModel model, Layer layer, GameObject button)
    {
        Toggle toggle = IsoLayerManager.CreateToggle(button, layer);

        toggle.isOn = model.visible;
    }