/*
         * 保存
         */
        private void Submit_Button_Click(object sender, RoutedEventArgs e)
        {
            DControl    currDControl = (DControl)currElement.Tag;
            StorageFile storageFile  = storageFileBll.get(currDControl.storageId);

            if (storageFile.ext != ".mp3")
            {
                MessageBox.Show("请选择mp3文件");
                return;
            }



            //更新到数据库
            DControl dControl = dControlBll.get(currDControl.id);

            dControl.storageId = this.currDControl.storageId;
            dControlBll.update(dControl);

            //更新页面控件信息
            string cAudioFullPath = FileUtil.notExistsShowDefault(storageFile?.url, Params.CAudioNotExists);



            CAudio cAudio = (CAudio)currElement;

            cAudio.updateElement(dControl, true, cAudioFullPath);



            currElement.Tag = dControl;
            Close();
        }
Пример #2
0
        /*
         * 插入日期
         */
        internal void insertCAudioToPage(DControl ctl)
        {
            string audioUrl = Params.CAudioNotExists;

            if (ctl.storageId > 0)
            {
                StorageFile storageFile = storageFileBll.get(ctl.storageId);
                audioUrl = storageFile?.url;
            }
            string audioCoverUrl = Params.CAudioImageNotExists;

            if (ctl.storageIdOfCover > 0)
            {
                StorageImage storageImage = storageImageBll.get(ctl.storageIdOfCover);
                audioCoverUrl = storageImage?.url;
            }
            CAudio cAudio = NewControlUtil.newCAudio(ctl, pageTemplate.dPage, App.localStorage.cfg, audioUrl, audioCoverUrl, pageTemplate.mqServer);

            cAudio.Style = pageTemplate.container.TryFindResource("CAudioStyle") as System.Windows.Style;

            //控件拖动
            cAudio.PreviewMouseLeftButtonDown += control_MouseDown;
            cAudio.PreviewMouseMove           += control_MouseMove;
            cAudio.PreviewMouseLeftButtonUp   += control_MouseUp;

            //控件上右击显示菜单
            cAudio.MouseRightButtonUp += control_MouseRightButtonUp;
            pageTemplate.container.Children.Add(cAudio);
        }
Пример #3
0
 //* -----------------------------------------------------------------------*
 /// <summary>ロード処理</summary>
 protected override void LoadContent()
 {
     CLogger.add("ゲームリソースを読込しています...");
     SStarter <_T> .SXACTInitializeData xact = initializeData.XACTConfigure;
     if (xact)
     {
         audio = new CAudio(xact.index2assert, xact.loopSEInterval,
                            xact.fileXGS, xact.fileXSB, xact.fileXWBSE, xact.fileXWBBGM);
     }
     textureResourceManager.reload(true, Content);
     fontResourceManager.reload(true, Content);
     if (spriteDraw != null)
     {
         spriteDraw.Dispose();
     }
     spriteDraw = new CSprite(GraphicsDevice);
     GC.Collect();
     base.LoadContent();
     CLogger.add("ゲームリソースの読込完了。");
 }
Пример #4
0
 //* -----------------------------------------------------------------------*
 /// <summary>ロード処理</summary>
 protected override void LoadContent()
 {
     CLogger.add("ゲームリソースを読込しています...");
     SStarter <_T> .SXACTInitializeData xact = INITIALIZE_DATA.XACTConfigure;
     if (xact)
     {
         audio = new CAudio(xact.index2assert, xact.loopSEInterval,
                            xact.fileXGS, xact.fileXSB, xact.fileXWBSE, xact.fileXWBBGM);
     }
     RESOURCE_MANAGER_TEXTURE.reload(true, Content);
     RESOURCE_MANAGER_FONT.reload(true, Content);
     if (spriteDraw != null)
     {
         spriteDraw.Dispose();
     }
     spriteDraw = new CSprite(GraphicsDevice);
     GC.Collect();
     base.LoadContent();
     CLogger.add("ゲームリソースの読込完了。");
 }
        /*
         * 11 音频
         */
        public static CAudio newCAudio(DControl ctl, DPage dPage, Cfg appCfg, string audioUrl, string audioCoverUrl, MqServer mqServer)
        {
            CAudio cAudio = new CAudio(ctl, dPage, appCfg, audioUrl, audioCoverUrl, mqServer);

            cAudio.HorizontalAlignment = HorizontalAlignment.Left;
            cAudio.VerticalAlignment   = VerticalAlignment.Top;
            cAudio.Margin     = new Thickness(ctl.left, ctl.top, 0, 0);
            cAudio.Width      = ctl.width;
            cAudio.Height     = ctl.height;
            cAudio.Background = Brushes.Transparent;

            cAudio.Opacity = ctl.opacity / 100.0;
            Panel.SetZIndex(cAudio, ctl.idx);
            cAudio.Focusable = false;
            cAudio.Tag       = ctl;
            TransformGroup group = new TransformGroup();

            cAudio.RenderTransform       = group;
            cAudio.RenderTransformOrigin = new Point(0.5, 0.5);
            cAudio.Visibility            = Visibility.Visible;
            return(cAudio);
        }
        /*
         * 3.2插入音频
         */
        public void insertCAudioToPage(DControl ctl)
        {
            string audioUrl = Params.CAudioNotExists;

            if (ctl.storageId > 0)
            {
                StorageFile storageFile = storageFileBll.get(ctl.storageId);
                audioUrl = storageFile?.url;
            }
            string audioCoverUrl = Params.CAudioImageNotExists;

            if (ctl.storageIdOfCover > 0)
            {
                StorageImage storageImage = storageImageBll.get(ctl.storageIdOfCover);
                audioCoverUrl = storageImage?.url;
            }
            CAudio cAudio = NewControlUtil.newCAudio(ctl, dPage, App.localStorage.cfg, audioUrl, audioCoverUrl, pageTemplate1.mqServer);

            loadAllAnimation(cAudio, ctl);
            mainContainer.Children.Add(cAudio);
            cAudio.Visibility      = Visibility.Visible;
            cAudio.PreviewMouseUp += cAudio_PreviewMouseUp;
            cAudio.PreviewTouchUp += cAudio_PreviewTouchUp;
        }
        //
        private void Submit_Button_Click(object sender, RoutedEventArgs e)
        {
            if (string.IsNullOrWhiteSpace(width.Text))
            {
                MessageBox.Show("请填写宽度;"); return;
            }
            else if (!DataUtil.isInt(width.Text.ToString()))
            {
                MessageBox.Show("宽度必须是整数;"); return;
            }
            if (string.IsNullOrWhiteSpace(height.Text.ToString()))
            {
                MessageBox.Show("请填写高度;"); return;
            }
            else if (!DataUtil.isInt(height.Text.ToString()))
            {
                MessageBox.Show("高度必须是整数;"); return;
            }
            if (string.IsNullOrWhiteSpace(left.Text.ToString()))
            {
                MessageBox.Show("请填写左边距;"); return;
            }
            else if (!DataUtil.isInt(left.Text.ToString()))
            {
                MessageBox.Show("左边距请填写整数;"); return;
            }
            if (string.IsNullOrWhiteSpace(top.Text.ToString()))
            {
                MessageBox.Show("请填写上边距;"); return;
            }
            else if (!DataUtil.isInt(top.Text.ToString()))
            {
                MessageBox.Show("上边距请填写整数;"); return;
            }
            if (string.IsNullOrWhiteSpace(opacity.Text.ToString()))
            {
                MessageBox.Show("请填写透明度;"); return;
            }
            else if (!DataUtil.isInt(opacity.Text.ToString()))
            {
                MessageBox.Show("透明度请填写整数;"); return;
            }
            else
            {
                Int32 opacityVal = Convert.ToInt32(opacity.Text.ToString());
                if (opacityVal < 0 || opacityVal > 100)
                {
                    MessageBox.Show("透明度为0-100内的整数;"); return;
                }
            }
            StorageImage storageImage = null;
            object       tag          = storageIdOfCover.Tag;

            if (tag != null)
            {
                storageImage = (StorageImage)tag;
            }

            //更新到数据库
            DControl dControl = dControlBll.get(currDControl.id);

            //  dControl.url = url.Text;
            dControl.width            = int.Parse(width.Text);
            dControl.height           = int.Parse(height.Text);
            dControl.left             = int.Parse(left.Text);
            dControl.top              = int.Parse(top.Text);
            dControl.opacity          = int.Parse(opacity.Text);
            dControl.autoplay         = (Boolean)autoplay.IsChecked;
            dControl.loop             = (Boolean)loop.IsChecked;
            dControl.storageIdOfCover = (storageImage == null ? 0 : storageImage.id);
            dControlBll.update(dControl);
            currDControl    = dControl;
            currElement.Tag = currDControl;


            //更新页面控件信息
            string audioCoverUrl = Params.CAudioImageNotExists;

            if (currDControl.storageIdOfCover > 0)
            {
                StorageImage storageImage1 = storageImageBll.get(currDControl.storageIdOfCover);
                audioCoverUrl = storageImage1?.url;
            }
            CAudio cAudio = (CAudio)currElement;

            cAudio.updateElementAttr(dControl, audioCoverUrl, true);

            //2.修改8个点的位置 及宽高
            editing.updateEditingBorder(currDControl);

            Close();
        }
        public void cAudio_PreviewMouseUp(object sender, MouseButtonEventArgs e)
        {
            CAudio cAudio = (CAudio)sender;

            cAudio.togglePlay();
        }
        public void cAudio_PreviewTouchUp(object sender, TouchEventArgs e)
        {
            CAudio cAudio = (CAudio)sender;

            cAudio.togglePlay();
        }
Пример #10
0
    private void Awake()
    {
        InstPlayer.SetScene(this);
        InstItemTimer.SetScene(this);


        mPlayGameData = Resources.Load <CPlayGameData>("GameData/CPlayGameData");
        mUserData     = new UserData();
        mItemdata     = new CItemData();
        mUIPlayGame   = FindObjectOfType <CUIPlayGame>();

        if (mItemdata.Item4 == 1)
        {
            IsStartBoost = true;
            InstStartBoost.gameObject.SetActive(true);
        }

        mAudioData = mUIPlayGame.GetComponent <CAudio>();
        this.AudioData.StartBGSound();



        CPlayerController tController = null;

#if UNITY_EDITOR
        tController = GetComponentInChildren <CKeyboardPlayerController>();
#elif UNITY_ANDROID
        tController = GetComponentInChildren <CUIPlayerController>();
#endif


        //플레이어 컨트롤러 세팅
        tController.SetCallOnJump(InstPlayer.DoJump);
        tController.SetCallOnJump(() => mIsInputJumpAndSlide = true);
        tController.SetCallOnSlide(InstPlayer.DoSlide);
        tController.SetCallOnSlide(() => mIsInputJumpAndSlide = true);

        tController.SetCallOnScreenSlide(InstPlayer.SetRotateInput);
        InstPlayer.SetFuncHorizontal(tController.GetHorizontal);

        //플레이어의 상태 변화 콜백
        InstPlayer.SetCallOnRotate(InstTargetCamera.RotateCamera);
        InstPlayer.SetCallOnGameOver(OnGameOver);

        //게임오버 - 로비 이동
        mUIPlayGame.InstBtnMoveLobby.onClick.AddListener(OnMoveLobby);

        //일시정지 UI On,Off
        mUIPlayGame.InstBtnPause.onClick.AddListener(() => OnPause(true));
        mUIPlayGame.InstBtnPauseClose.onClick.AddListener(() => OnPause(false));

        //포기 확인
        mUIPlayGame.InstBtnSubmitRetire.onClick.AddListener(OnRetire);

        if (mItemdata.Item1 == 1)
        {
            mUIPlayGame.InstSliderAddHPBar.gameObject.SetActive(true);
            InstPlayer.AddHp.Subscribe((hp) =>
            {
                mUIPlayGame.InstSliderAddHPBar.value = (float)hp / InstPlayer.AddHpValue;
                if (mUIPlayGame.InstSliderAddHPBar.value <= 0)
                {
                    mUIPlayGame.InstSliderAddHPBar.gameObject.SetActive(false);
                }
            });
        }
        InstPlayer.CurrentHp.Subscribe((hp) => mUIPlayGame.InstSliderHPBar.value          = (float)hp / InstPlayer.Hp);
        InstPlayer.CurrentBoost.Subscribe((boost) => mUIPlayGame.InstSliderBoostBar.value = boost / InstPlayer.Boost);

        mScore = new FloatReactiveProperty();
        mScore.Subscribe((score) =>
        {
            TotalScore = (int)score + (mCoin.Value * (int)CoinPerScore);
            mUIPlayGame.SetTxtScore(TotalScore);
            mUIPlayGame.SetTxtPauseScore(TotalScore);
        });
        mCoin = new IntReactiveProperty();
        mCoin.Subscribe((coin) => mUIPlayGame.SetTxtCoin(coin));


        mTrackCreator = new Map.CTrackCreator(this.transform);
        mTrackCreator.OnShowEndTrack = (left, right) =>
        {
            mUIPlayGame.ShowTxtSelectTheme(left, right);
        };
        mTrackCreator.OnSelectTheme = (select) =>
        {
            mUIPlayGame.SelectTheme(select);
        };
        mTrackCreator.OnChangeStage = (stage, theme) =>
        {
            mCurrentStage = stage;
            if (IsStartBoost == true)
            {
                if (stage != 1)
                {
                    mItemdata.Item4 = 0;
                    IsStartBoost    = false;
                    InstItemTimer.Reset();
                }
            }

            if (mCurrentStageTick != null)
            {
                StopCoroutine(mCurrentStageTick);
            }
            InstPlayer.ResetSideSpeed();
            switch (theme)
            {
            case 0:
                mCurrentStageTick = StartCoroutine(StageTick_1());
                break;

            case 1:
                mCurrentStageTick = StartCoroutine(StageTick_2());
                break;

            case 2:
                InstPlayer.SideSpeed = 20.0f;
                mUIPlayGame.ShowSlideIcon();
                break;
            }
        };

        if (mItemdata.Item2 == 1)
        {
            mUIPlayGame.InstItem_1.gameObject.SetActive(false);
        }
        else
        {
            mUIPlayGame.InstItem_1.gameObject.SetActive(true);
        }
        if (mItemdata.Item3 == 1)
        {
            mUIPlayGame.InstItem_2.gameObject.SetActive(false);
        }
        else
        {
            mUIPlayGame.InstItem_2.gameObject.SetActive(true);
        }

        mTrackCreator.CreateTrackData();
        mTrackCreator.PositionTracks();
        mTrackCreator.UpdateTrackTile(0);
    }
        public void PageTemplate_UnLoaded(object sender, RoutedEventArgs e)
        {
            Unloaded -= PageTemplate_UnLoaded;
            foreach (FrameworkElement element in container.Children)
            {
                if (element is Button)
                {
                    Button btn = element as Button;
                    if (btn.Name == "Image")
                    {
                        btn.Click -= insertToPage.imageButtonClick;
                    }
                    else if (btn.Name == "BackButton")
                    {
                        btn.Click -= insertToPage.backButtonClick;
                    }
                    else if (btn.Name == "HomeButton")
                    {
                        btn.Click -= insertToPage.homeButtonClick;
                    }
                    btn.Background = null;
                    btn            = null;
                }
                else if (element is DocumentViewer)
                {
                    DocumentViewer documentViewer = element as DocumentViewer;
                    documentViewer.Document = null;
                    documentViewer          = null;
                }
                else if (element is TurnPicture)
                {
                    TurnPicture turnPicture = element as TurnPicture;
                    turnPicture = null;
                }
                else if (element is Marque)
                {
                    Marque marque = element as Marque;
                    marque = null;
                }
                else if (element is MarqueLayer)
                {
                    MarqueLayer marqueLayer = element as MarqueLayer;
                    marqueLayer = null;
                }
                else if (element is CVideo)
                {
                    CVideo cVideo = element as CVideo;
                    cVideo = null;
                }

                else if (element is CFrame)
                {
                    CFrame cFrame = element as CFrame;
                    cFrame.Content = null;
                    cFrame         = null;
                }
                else if (element is TextBlock)
                {
                    TextBlock textBlock = element as TextBlock;
                    textBlock.PreviewMouseUp -= insertToPage.textBlock_PreviewMouseUp;
                    textBlock.PreviewTouchUp -= insertToPage.textBlock_PreviewTouchUp;
                    textBlock = null;
                }
                else if (element is Gif)
                {
                    Gif gif = element as Gif;
                    gif.PreviewMouseUp -= insertToPage.gif_PreviewMouseUp;
                    gif.PreviewTouchUp -= insertToPage.gif_PreviewTouchUp;
                    gif = null;
                }
                else if (element is CAudio)
                {
                    CAudio cAudio = element as CAudio;
                    cAudio.PreviewMouseUp += insertToPage.cAudio_PreviewMouseUp;
                    cAudio.PreviewTouchUp += insertToPage.cAudio_PreviewTouchUp;
                    cAudio = null;
                }

                else if (element is CCalendar)
                {
                    CCalendar cCalendar = element as CCalendar;
                    cCalendar = null;
                }
                else if (element is Canvas && element.Name == "frameDialogCanvas")
                {
                    releaseFrameDialogCanvas(element);
                }
                else
                {
                    FrameworkElement fe = element as FrameworkElement;
                    fe = null;
                }
            }

            //释放视频背景
            foreach (FrameworkElement ele in backgroundVideo.Children)
            {
                if (ele.Name == "CVideoBackground")
                {
                    CVideoBackground cVideoBackground = (CVideoBackground)ele;
                    cVideoBackground = null;
                }
            }
            backgroundVideo.Children.Clear();
            Background   = null;
            insertToPage = null;
            Content      = null;
            container.Children.Clear();

            GC.Collect();
        }