コード例 #1
0
    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);
    }
コード例 #2
0
    void RenderObject(IsoObjectModel objModel, Layer layer)
    {
        GameObject obj = new GameObject("obj");

        obj.transform.position = objModel.position;
        obj.transform.rotation = objModel.rotation;
        obj.transform.SetParent(layer.gameObject.transform);


        IsoObject isoObj = obj.AddComponent <IsoObject> ();

        isoObj.FilePath = objModel.ImgFilePath;
        isoObj.offset   = objModel.offset;
        layer.AddPositionData(obj.transform.position, obj);
        // Read image;
        SpriteRenderer renderer = obj.AddComponent <SpriteRenderer> ();

        renderer.sortingOrder = objModel.SortingOrder;
        Sprite result = resources.Find(x => x.path == isoObj.FilePath).Sprite;

        result          = Ultils.ChangeOffset(result, isoObj.offset);
        renderer.sprite = result;

        obj.AddComponent <PolygonCollider2D> ();
    }
コード例 #3
0
    // Convert from iso object to iso model.

    public IsoObjectModel FromIsoObject(IsoObject obj)
    {
        IsoObjectModel model = new IsoObjectModel();

        model.position = obj.gameObject.transform.position;
        model.rotation = obj.gameObject.transform.rotation;
        SpriteRenderer objRenderer = obj.GetComponent <SpriteRenderer> ();

        model.SortingOrder  = objRenderer.sortingOrder;
        model.ImgFilePath   = obj.FilePath;
        model.offset        = obj.offset;
        model.ImgFileName   = Path.GetFileName(obj.FilePath);
        model.ImgFolderPath = Path.GetDirectoryName(obj.FilePath);

        return(model);
    }