/// <summary>
        /// 保存创作
        /// </summary>
        public IEnumerator SaveEdit()
        {
            if (mapData == null)
            {
                yield break;
            }
            var cor1 = Window.instance.startCoroutine(SaveMapMeta());
            var cor2 = Window.instance.startCoroutine(Snapshot());

            yield return(cor1);

            yield return(cor2);

            // 保存到云端
            // (图片)capturedImage
            // (ID)mapData.Meta.Map.ID
            // (time) DateTime.Now.ToString("yyyy-MM-dd_HHmmss")
            // (Meta) mapData.Meta
            // GPS
            Mark mark = new Mark
            {
                coordinate = new cn.bmob.io.BmobGeoPoint {
                    Latitude = TapOnUtils.nowLocation.latitude, Longitude = TapOnUtils.nowLocation.longitude
                },
                snapShot_byte = capturedImage.EncodeToJPG(),
                MapId         = mapData.Meta.Map.ID,
                MapName       = "Map_" + DateTime.Now.ToString("yyyy-MM-dd_HHmmss"),
                meta_byte     = File.ReadAllBytes(MapMetaManager.GetPath(mapData.Meta.Map.ID)),
            };

            BmobApi.addMarktoServer(mark);
        }
        // JSON解析测试
        private void json_Click(object sender, RoutedEventArgs e)
        {
            var data = new BmobApi();

            data.name = "winse";
            BmobDebug.Log(JsonAdapter.JSON.ToDebugJsonString(data));
        }
Beispiel #3
0
        private async void updateMarks()
        {
            MapController m = Globals.instance.mapController;

            m.SetBuildingEnable(false);
            Coordinate now = m.GetCoordinate();
            QueryCallbackData <Mark> data = await BmobApi.queryFuzztMarksAsync(now, 30);

            this.widget.actionModel.addMarkJustLoading(data.results);
            this.widget.actionModel.changeMark();
        }
Beispiel #4
0
 public static object loadMark()
 {
     return(new ThunkAction <AppState>((dispatcher, getState) =>
     {
         //QueryCallbackData<Marks> data = await BmobApi.queryFuzztMarksAsync(MapApi.map.GetCoordinate(), 3);
         List <Mark> mapMarks = new List <Mark>();
         return BmobApi.queryFuzzyMarks(MapApi.map.GetCoordinate(), 3).Then((list) =>
         {
             Debug.LogError("mark count: " + list.Count);
             mapMarks = list;
             dispatcher.dispatch(new AddMarkJustLoadingAction {
                 newMarks = mapMarks
             });
             dispatcher.dispatch(changeMark());
         });
     }));
 }
Beispiel #5
0
        private async void updateMarks()
        {
            QueryCallbackData <Marks> data = await BmobApi.queryFuzztMarksAsync(Prefabs.instance.mapController.GetCoordinate(), 3);

            List <Mark> marks = new List <Mark>();

            foreach (var mark in data.results)
            {
                marks.Add(new Mark {
                    coordinate = new Coordinate(mark.coordinate.Latitude.Get(), mark.coordinate.Longitude.Get()),
                    id         = mark.objectId,
                    date       = mark.upLoadTime,
                    url        = mark.snapShot.url,
                    fileName   = mark.snapShot.filename
                });
            }
            this.widget.actionModel.addMarkJustLoading(marks);
            this.widget.actionModel.changeMark();
        }
        private void createTask_Click(object sender, RoutedEventArgs e)
        {
            BmobApi table = new BmobApi();

            table.name = "hello wp";

            Bmob.CreateTaskAsync(TABLE_NAME, table).ContinueWith(f =>
            {
                string status = "OK";
                if (f.Result == null)
                {
                    status = "ERROR";
                }

                Dispatcher.BeginInvoke(() =>
                {
                    updateStatus(createTask, status);
                });
            });
        }
        // 添加表记录
        private void create_Click(object sender, RoutedEventArgs e)
        {
            BmobApi record = new BmobApi();

            record.name = "hello bmob windowsphone";

            Bmob.Create(TABLE_NAME, record, (resp, ex) =>
            {
                string status = "OK";
                if (ex != null)
                {
                    status = "ERROR";
                }

                Dispatcher.BeginInvoke(() =>
                {
                    updateStatus(create, status);
                });
            });
        }
        private void createTask_Click(object sender, RoutedEventArgs e)
        {
            BmobApi table = new BmobApi();
            table.name = "hello wp";

            Bmob.CreateTaskAsync(TABLE_NAME, table).ContinueWith(f =>
            {

                string status = "OK";
                if (f.Result == null)
                {
                    status = "ERROR";
                }

                Dispatcher.BeginInvoke(() =>
                {
                    updateStatus(createTask, status);
                });
            });


        }
 // JSON解析测试
 private void json_Click(object sender, RoutedEventArgs e)
 {
     var data = new BmobApi();
     data.name = "winse";
     BmobDebug.Log(JsonAdapter.JSON.ToDebugJsonString(data));
 }
        // 添加表记录
        private void create_Click(object sender, RoutedEventArgs e)
        {
            BmobApi record = new BmobApi();
            record.name = "hello bmob windowsphone";

            Bmob.Create(TABLE_NAME, record, (resp, ex) =>
            {
                string status = "OK";
                if (ex != null)
                {
                    status = "ERROR";
                }

                Dispatcher.BeginInvoke(() =>
                               {
                                   updateStatus(create, status);
                               });
            });
        }
Beispiel #11
0
        public Widget _mineBottomBar()
        {
            return(new Container(
                       height: 73,

                       child: new Column(children: new List <Widget>
            {
                new Container(
                    decoration: new BoxDecoration(border: new Border(top: new BorderSide(color: CColors.Transparent, width: 0), bottom: new BorderSide(color: CColors.White, width: 0)), color: CColors.Transparent, image: new DecorationImage(fit: BoxFit.cover, image: new AssetImage("texture/bottomframe"))),
                    child:  new Row(
                        mainAxisAlignment: Unity.UIWidgets.rendering.MainAxisAlignment.spaceAround,
                        children: new List <Widget>
                {
                    new Expanded(
                        flex: 5,
                        child:  new Listener(
                            onPointerDown: detail =>
                    {
                        setState(() => { if (_currentIndex != 0)
                                         {
                                             _currentIndex = 0;
                                         }
                                 });
                    },
                            child: new Column(children: new List <Widget>
                    {
                        new Padding(padding: EdgeInsets.only(top: 26)),
                        new Icon(icon: MyIcons.map_mine, size: 24, color: _currentIndex == 0 ? CColors.IconGreen : CColors.IconBlack),
                        new Padding(padding: EdgeInsets.only(top: 2)),
                        new Text(data: "地图", style: new TextStyle(fontSize: 10, color: CColors.Black)),
                    })
                            )
                        ),
                    //new Padding(padding: EdgeInsets.only(left: 15)),
                    new Expanded(
                        flex: 4,
                        child: new Listener(
                            onPointerDown: detail =>
                    {
                        setState(() => { if (_currentIndex != 1)
                                         {
                                             _currentIndex = 1;
                                         }
                                 });
                    },
                            child: new Column(children: new List <Widget>
                    {
                        new Padding(padding: EdgeInsets.only(top: 26)),
                        new Icon(icon: MyIcons.list_mine, size: 24, color: _currentIndex == 1 ? CColors.IconGreen : CColors.IconBlack),
                        new Padding(padding: EdgeInsets.only(top: 2)),
                        new Text(data: "榜单", style: new TextStyle(fontSize: 10, color: CColors.Black)),
                    })
                            )
                        ),
                    new Expanded(
                        flex: 5,
                        child: new Padding(padding: EdgeInsets.only(top: 9), child:
                                           new SizedBox(
                                               height: 54,
                                               width: 54,
                                               child: new FlatButton(
                                                   onPressed: () =>
                    {
                        Globals.instance.contextStack.Push(context);
                        Globals.instance.map.SetActive(false);
                        GameObject[] t = GameObject.FindGameObjectsWithTag("mark");
                        foreach (GameObject mark in Globals.instance.marks)
                        {
                            mark.SetActive(false);
                        }
                        //Globals.instance.arEffect.SetActive(true);
                        Globals.instance.arBase.SetAREffectState(true);
                        Globals.instance.arBase.EnableAREffect();
                        //Globals.instance.arEffect.GetComponent<AREffectManager>().CreateAndEditMap();
                        Navigator.push(context, new MaterialPageRoute(builder: (_) =>
                        {
                            return new StoreProvider <AppState>(
                                store: StoreProvider.store,
                                new MaterialApp(
                                    home: new SettingScreenConnector()
                                    )
                                );
                        }));
                    },
                                                   shape: new CircleBorder(),
                                                   color: CColors.FlatGreen,
                                                   disabledColor: CColors.FlatGreen,
                                                   child: new Text(
                                                       data: "埋下\n回忆",
                                                       style: new TextStyle(fontSize: 12, color: CColors.White))
                                                   )
                                               )
                                           )
                        ),
                    //new Padding(padding: EdgeInsets.only(left: -15)),
                    new Expanded(
                        flex: 4,
                        child: new Listener(
                            onPointerDown: detail =>
                    {
                        setState(() => { if (_currentIndex != 2)
                                         {
                                             _currentIndex = 2;
                                         }
                                 });
                    },
                            child: new Column(children: new List <Widget>
                    {
                        new Padding(padding: EdgeInsets.only(top: 26)),
                        new Icon(icon: MyIcons.message_mine, size: 24, color: _currentIndex == 2 ? CColors.IconGreen : CColors.IconBlack),
                        new Padding(padding: EdgeInsets.only(top: 2)),
                        new Text(data: "消息", style: new TextStyle(fontSize: 10, color: CColors.Black)),
                    })
                            )
                        ),
                    //new Padding(padding: EdgeInsets.only(right: 5)),
                    new Expanded(
                        flex: 5,
                        child: new Listener(
                            onPointerDown: detail =>
                    {
                        //cn.bmob.response.UploadCallbackData ba = await Globals.instance.bmob.FileUploadTaskAsync(new cn.bmob.io.BmobLocalFile("E:/easyAR_sample/TapOn2.0/Assets/TapOn/Resources/texture/namecard.jpg"));

                        /*Globals.instance.bmob.FileUpload("E:\\easyAR_sample\\TapOn2.0\\Assets\\TapOn\\Resources\\texture\\namecard.jpg", (resp,exception)=>
                         * {if(exception != null) {Debug.LogError(exception.Message);return; } Debug.Log(resp.filename); }
                         * );*/
                        //Window.instance.startCoroutine(test());
                        Mark mark = new Mark
                        {
                            coordinate = new cn.bmob.io.BmobGeoPoint(39.986, 116.314),
                        };
                        BmobApi.addMarktoServer(mark);
                        setState(() => { if (_currentIndex != 3)
                                         {
                                             _currentIndex = 3;
                                         }
                                 });
                    },
                            child: new Column(children: new List <Widget>
                    {
                        new Padding(padding: EdgeInsets.only(top: 26)),
                        new Icon(icon: MyIcons.mine_mine, size: 24, color: _currentIndex == 3 ? CColors.IconGreen : CColors.IconBlack),
                        new Padding(padding: EdgeInsets.only(top: 2)),
                        new Text(data: "我的", style: new TextStyle(fontSize: 10, color: CColors.Black)),
                    })
                            )
                        ),
                })
                    ),
                new Container(constraints: new Unity.UIWidgets.rendering.BoxConstraints(maxHeight: 73), color: CColors.White),
            })
                       ));
        }