コード例 #1
0
    private void Start()
    {
        mapSession = new MapSession(mapWorker, MapMetaManager.LoadAll());
        mapSession.LoadMapMeta(mapTemp, true);

        mapSession.CurrentMapLocalized = (mapData) =>
        {
            this.mapData = mapData;
        };
        videoCamera.DeviceOpened += () =>
        {
            if (videoCamera == null)
            {
                return;
            }
            videoCamera.FocusMode = CameraDeviceFocusMode.Continousauto;
        };


#if UNITY_EDITOR
        dataDropdown.gameObject.SetActive(true);
        InitPointData();
#endif
        PropDragger.SetMapSession(mapSession);
    }
コード例 #2
0
ファイル: SnapShotLoad.cs プロジェクト: bieyiTech/TapOn2.0
    /// <summary>
    /// 从url下载图片
    /// </summary>
    /// <param name="url"></param>
    /// <param name="filePath"></param>
    /// <param name="dic"></param>
    /// <returns></returns>
    public IEnumerator LoadSnapShot(string url, string fileName, string dic, GameObject Mark)
    {
#pragma warning disable CS0618 // 类型或成员已过时
        WWW www;
        if (MapMetaManager.isTextureInLocal(fileName))
        {
            www = new WWW("file://" + MapMetaManager.PathForFile(fileName, "picture"));
        }
        else
        {
            www = new WWW(url);
        }
#pragma warning restore CS0618 // 类型或成员已过时
        yield return(www);

        MapMetaManager.SaveTextureToLocal(www.texture, fileName);

        Sprite tempSp = Sprite.Create(www.texture, new Rect(0, 0, 200, 200), new Vector2(0.5f, 0.5f));

        // Add Sprite GameObject
        GameObject tempSprite = new GameObject("Sprite");
        tempSprite.transform.parent        = Mark.transform;
        tempSprite.transform.localPosition = new Vector3(0, 0.45f, 0);
        tempSprite.transform.localRotation = Quaternion.identity;
        tempSprite.transform.localScale    = Vector3.one;
        //tempSprite.layer = 256;

        // Add Sprite Texture
        SpriteRenderer spriteRenderer = tempSprite.AddComponent <SpriteRenderer>();
        spriteRenderer.sprite          = tempSp;
        spriteRenderer.maskInteraction = SpriteMaskInteraction.VisibleInsideMask;

        // Add Sprite Mask
        tempSprite.AddComponent <SpriteMask>().sprite = spriteMaskCircle;
    }
コード例 #3
0
    public void Save()
    {
        if (mapData == null)
        {
            return;
        }
        var propInfos = new List <MapMeta.PropInfo>();

        foreach (var prop in mapData.Props)
        {
            var position = prop.transform.localPosition;
            var rotation = prop.transform.localRotation;
            var scale    = prop.transform.localScale;

            propInfos.Add(new MapMeta.PropInfo()
            {
                Name     = prop.name,
                Position = new float[3] {
                    position.x, position.y, position.z
                },
                Rotation = new float[4] {
                    rotation.x, rotation.y, rotation.z, rotation.w
                },
                Scale = new float[3] {
                    scale.x, scale.y, scale.z
                }
            });
        }
        mapData.Meta.Props = propInfos;
        MapMetaManager.Save(mapData.Meta, MapMetaManager.FileNameType.Name);
        Debug.Log("保存成功");
    }
コード例 #4
0
 public void SavePoint()
 {
     MapMetaManager.Save(new PointData()
     {
         mapName = mapData.Meta.Map.Name, PointCloud = mapData.Controller.PointCloud
     });
 }
コード例 #5
0
    public void InitPointData()
    {
        pointDatas = MapMetaManager.Load_PointCloud <PointData>();
        foreach (var item in pointDatas)
        {
            OptionDataList.Add(new Dropdown.OptionData()
            {
                text = item.mapName
            });
        }
        dataDropdown.options = OptionDataList;
        dataDropdown.onValueChanged.AddListener(OnDropDownChanged);

        DebugObj(0);
    }
コード例 #6
0
    /// <summary>
    /// 保存地图回调
    /// </summary>
    /// <param name="mapInfo">地图信息</param>
    /// <param name="isSuccess">成功标识</param>
    /// <param name="error">错误信息</param>
    private void SaveMapHostBack(SparseSpatialMapController.SparseSpatialMapInfo mapInfo, bool isSuccess, string error)
    {
        if (isSuccess)
        {
            SavePanel.SetActive(false);

            PlayerPrefs.SetString("MapID", mapInfo.ID);
            PlayerPrefs.SetString("MapName", mapInfo.Name);
            text.text = "地图保存成功。\r\nMapID:" + mapInfo.ID + "\r\nMapName:" + mapInfo.Name;
            MapMetaManager.Save(new MapMeta(mapInfo, new List <MapMeta.PropInfo>()), MapMetaManager.FileNameType.Name);
            Invoke("BackMain", 3);
        }
        else
        {
            btnSave.interactable = true;
            text.text            = "地图保存出错:" + error;
        }
    }
コード例 #7
0
 private void Start()
 {
     mapSession = new MapSession(mapWorker, MapMetaManager.LoadAll());
     mapSession.LoadMapMeta(mapTemp, false);
     mapSession.CurrentMapLocalized += (MapData) =>
     {
         //识别出来后播放一段声音 提示用户已经加载出来了
         if (aS.isPlaying == false)
         {
             aS.PlayOneShot(aS.clip);
         }
     };
     videoCamera.DeviceOpened += () =>
     {
         if (videoCamera == null)
         {
             return;
         }
         videoCamera.FocusMode = CameraDeviceFocusMode.Continousauto;
     };
 }