Exemple #1
0
 //switch to panorama editor
 private void OnPanoramaChosen(PanoramaWithPreview pwp)
 {
     if (deleting)
     {
         editable_tour.panoramas.Remove(pwp.panorama);
         pwp.OnPressed -= OnPanoramaChosen;
         Destroy(pwp.preview.gameObject);
         Destroy(pwp.panorama.gameObject);
         Destroy(pwp);
         deleting = false;
     }
     else
     {
         onEditPhoto(pwp.panorama);
     }
 }
Exemple #2
0
    //add new panorama to tour
    public void AddPhoto()
    {
        string new_photo_path = null;

        new_photo_path = FilePicker.PickImage(-1);

        Texture2D new_photo = null;

        //just create empty panorama if in unity editor
        #if !UNITY_EDITOR
        if (new_photo_path != null)
        {
            new_photo = NativeGallery.LoadImageAtPath(new_photo_path, -1, false);

            Vector3    new_pos               = new Vector3(editable_tour.panoramas.Count, editable_tour.panoramas.Count, 0) * panorama_prefab.transform.localScale.x;
            GameObject new_panorama          = Instantiate(panorama_prefab, new_pos, Quaternion.identity) as GameObject;
            Panorama   new_panorama_panorama = new_panorama.GetComponent <Panorama>();
            new_panorama_panorama.id   = editable_tour.panoramas.Count;
            new_panorama_panorama.link = new_photo_path;

            new_panorama.GetComponent <Renderer>().material.mainTexture = LoadPanorama(new_photo, new_photo_path);

            GameObject new_preview       = Instantiate(preview_prefab, scroll_content) as GameObject;
            Image      new_preview_image = new_preview.GetComponent <Image>();

            int axis = Math.Min(new_photo.height, new_photo.width);

            new_preview_image.sprite = Sprite.Create(new_photo, new Rect(0.0f, 0.0f, axis, axis), new Vector2(0.5f, 0.5f));


            PanoramaWithPreview new_panorama_with_preview = new_preview.GetComponent <PanoramaWithPreview>();
            panoramas.Add(new_panorama_with_preview);
            new_panorama_with_preview.preview    = new_preview_image;
            new_panorama_with_preview.panorama   = new_panorama_panorama;
            new_panorama_with_preview.OnPressed += OnPanoramaChosen;

            editable_tour.panoramas.Add(new_panorama_panorama);
        }
        #endif
        #if UNITY_EDITOR
        if (true)
        {
            new_photo_path = Application.dataPath + "/360_0051_stitched_injected.JPG";
            //new_photo = NativeGallery.LoadImageAtPath(new_photo_path, -1, false);

            Vector3    new_pos               = new Vector3(editable_tour.panoramas.Count, 2 * editable_tour.panoramas.Count, 0) * panorama_prefab.transform.localScale.x;
            GameObject new_panorama          = Instantiate(panorama_prefab, new_pos, Quaternion.identity) as GameObject;
            Panorama   new_panorama_panorama = new_panorama.GetComponent <Panorama>();
            new_panorama_panorama.id   = editable_tour.panoramas.Count;
            new_panorama_panorama.link = new_photo_path;

            GameObject new_preview       = Instantiate(preview_prefab, scroll_content) as GameObject;
            Image      new_preview_image = new_preview.GetComponent <Image>();

            PanoramaWithPreview new_panorama_with_preview = new_preview.GetComponent <PanoramaWithPreview>();
            panoramas.Add(new_panorama_with_preview);
            new_panorama_with_preview.preview    = new_preview_image;
            new_panorama_with_preview.panorama   = new_panorama_panorama;
            new_panorama_with_preview.OnPressed += OnPanoramaChosen;

            editable_tour.panoramas.Add(new_panorama_panorama);
        }
        #endif
    }