public void StartIntoGame()
    {
        MyCOMDevice.ComThreadClass.IsLoadingLevel = true;
        LoadingCtrl.GetInstance().InitActiveAllObj();
        LoadingBJObj.SetActive(true);
        if (GlobalData.GetInstance().gameMode == GameMode.SoloMode)
        {
            IsIntoPlayGame = true;
            GlobalData.GetInstance().gameLeve = GameLeve.Waterwheel;
            System.GC.Collect();
            AsyncStatus = Application.LoadLevelAsync((int)GameLeve.Waterwheel);
        }
        else
        {
            GlobalData.GetInstance().gameLeve = GameLeve.WaterwheelNet;
            if (Network.peerType == NetworkPeerType.Server)
            {
                NetworkServerNet.GetInstance().RemoveMasterServerHost();
                if (NetworkRpcMsgCtrl.MaxLinkServerCount == 0)
                {
                    NetworkRpcMsgCtrl.MaxLinkServerCount = NetworkRpcMsgCtrl.NoLinkClientCount;
                }
            }
            System.GC.Collect();
            AsyncStatus = Application.LoadLevelAsync((int)GameLeve.WaterwheelNet);
        }
        AsyncStatus.allowSceneActivation = false;

        Invoke("CheckAsyncIsDone", 8f);
    }
Ejemplo n.º 2
0
        protected override void CreateBitmap()
        {
            if (Parent == null)
            {
                FreeBitmap();
                return;
            }

            LoadingCtrl ctrl = Parent;
            float       min  = Math.Min(
                ctrl.ClientRectangle.Width,
                ctrl.ClientRectangle.Height);

            FreeBitmap();
            if (min < 1)
            {
                return;
            }

            bmpBack = new Bitmap((int)min, (int)min);

            using (Graphics grBack = Graphics.FromImage(bmpBack))
            {
                var smoothingMode = grBack.SmoothingMode;
                grBack.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
                grBack.FillRectangle(Brushes.Transparent, 0, 0, min, min);
                grBack.SmoothingMode = smoothingMode;
            }
        }
Ejemplo n.º 3
0
    public static LoadingCtrl instance;                         //the static instance of this class

    void Start()
    {
        if (instance == null)
        {
            instance = this;
        }
    }
Ejemplo n.º 4
0
 public BaseFrm()
 {
     InitializeComponent();
     loadingctrl = new LoadingCtrl();
     //loadingctrl.Visible = false;
     //loadingctrl.Left = -1 * loadingctrl.Width;
     //this.Controls.Add(loadingctrl);
 }
Ejemplo n.º 5
0
    /*
     * 弄这个场景和这个脚本算是有点妥协的意思了。。。
     * 屑DontDestroyOnLoad毛病太多
     */

    private void Start()
    {
        //在这里启动游戏说明是要完整测试,所以全部初始化gss以防意外的调试参数造成不必要的麻烦
        GameScoreSettingsIO gss = (GameScoreSettingsIO)Resources.Load("GameScoreAndSettings");

        //使刚进入游戏一定显示标题画面,顺便初始化(title那里)
        gss.MajoSceneToTitle = false;

        LoadingCtrl.LoadScene(1, true);
    }
Ejemplo n.º 6
0
    //没有适配多人游戏!
    /// <summary>
    /// 选择魔法少女(检查视图注入)
    /// </summary>
    public void SelectedMahoshoujo(int id)
    {
        //确认音效 多人游戏的时候前2个玩家选择后播放。
        //  EasyBGMCtrl.easyBGMCtrl.PlaySE(0);
        //最后一个玩家,播放进入魔女结界的音效
        EasyBGMCtrl.easyBGMCtrl.PlaySE(4);


        //麻花焰单独处理
        if (id == 5)
        {
            if (gameScoreSettingsIO.MagicalGirlsDie[0])
            {
                //挂了,选择为QB
                gameScoreSettingsIO.SelectedGirlInGame[0] = Variable.PlayerFaceType.QB;//玩家1,联机的话要在处理 0:玩家1
            }
            else
            {
                //没挂,正常选择
                gameScoreSettingsIO.SelectedGirlInGame[0] = (Variable.PlayerFaceType)id;//玩家1,联机的话要在处理0:玩家1


                //应该所有玩家都选择完在进行处理
                //切换场景
                LoadingCtrl.LoadScene(2);
            }

            return;
        }


        else if (gameScoreSettingsIO.MagicalGirlsDie[id])
        {
            //挂了,选择为QB 0.0.7暂时禁用
            //gameScoreSettingsIO.SelectedGirlInGame[0] = Variable.PlayerFaceType.QB;//玩家1,联机的话要在处理 0:玩家1
        }
        else
        {
            //没挂,正常选择
            gameScoreSettingsIO.SelectedGirlInGame[0] = (Variable.PlayerFaceType)id;//玩家1,联机的话要在处理0:玩家1

            //应该所有玩家都选择完在进行处理
            //切换场景
            LoadingCtrl.LoadScene(2);
        }
    }
Ejemplo n.º 7
0
 /// <summary>
 /// (顺利打完某魔女)从结算界面返回到魔女选择part或者staff
 /// </summary>
 void ReturnToMajoOrStaff()
 {
     //瓦夜打完,结算界面结束后进入staff / 或者五色全挂,进入staff
     if (StageCtrl.gameScoreSettings.BattlingMajo == Variable.Majo.Walpurgisnacht || StageCtrl.gameScoreSettings.AllDie)
     {
         //预先修改一些变量,防止出现Bug
         StageCtrl.gameScoreSettings.MajoSceneToTitle = false;
         if (StageCtrl.gameScoreSettings.BattlingMajo == Variable.Majo.Walpurgisnacht)
         {
             //通关设置
             StageCtrl.gameScoreSettings.Success = true;
         }
         LoadingCtrl.LoadScene(4, false);
     }
     //其他魔女打完,结算界面结束后进入魔女选择part
     else if (StageCtrl.gameScoreSettings.BattlingMajo != Variable.Majo.Walpurgisnacht)
     {
         LoadingCtrl.LoadScene(1, false);
     }
 }
Ejemplo n.º 8
0
        protected override void CreateBitmap()
        {
            if (Parent == null)
            {
                FreeBitmap();
                return;
            }

            LoadingCtrl ctrl = Parent;
            float       min  = Math.Min(
                ctrl.ClientRectangle.Width / 3F,
                ctrl.ClientRectangle.Height / 3F);
            float min2    = min / 2;
            float minX3   = min * 3;
            float minX3_2 = minX3 / 2;

            FreeBitmap();
            if (min < 1)
            {
                return;
            }

            bmpBack = new Bitmap((int)minX3, (int)minX3);

            using (Graphics grBack = Graphics.FromImage(bmpBack))
            {
                Brush brDefault  = new SolidBrush(colorDefault);
                Brush brProgress = new SolidBrush(colorProgress);

                grBack.FillRectangle(Brushes.Transparent, 0, 0, (int)minX3, (int)minX3);

                grBack.TranslateTransform(minX3_2, minX3_2);

                RectangleF   rcf = new RectangleF(0, 0, min, min);
                GraphicsPath gp1 = new GraphicsPath();
                gp1.AddEllipse(rcf);

                double teta = (Math.PI * shapeAngle / 180F);
                double x    = min2;
                double y    = min2;
                float  xp   = (float)((x * Math.Cos(teta)) - (y * Math.Sin(teta)));
                float  yp   = (float)((x * Math.Sin(teta)) + (y * Math.Cos(teta)));
                xp -= min2;
                yp -= min2;

                rcf = new RectangleF(xp, yp, min, min);
                GraphicsPath gp2 = new GraphicsPath();
                gp2.AddEllipse(rcf);

                Region rgn = new Region(gp1);
                rgn.Union(gp2);
                rgn.Xor(gp2);

                Bitmap bmp2 = new Bitmap((int)min, (int)min);

                using (Graphics grBmp = Graphics.FromImage(bmp2))
                {
                    grBmp.SetClip(rgn, CombineMode.Replace);
                    grBmp.FillPath(brDefault, gp1);
                }
                int j = 0;
                for (int i = 0; i < 360; i += rotateAngle)
                {
                    j += rotateAngle;
                    grBack.DrawImage(bmp2, 0, 0);
                    grBack.RotateTransform(rotateAngle);
                }

                using (Graphics grBmp = Graphics.FromImage(bmp2))
                {
                    grBmp.SetClip(rgn, CombineMode.Replace);
                    grBmp.FillPath(brProgress, gp1);
                }
                grBack.DrawImage(bmp2, 0, 0);
                grBack.RotateTransform(180);
                grBack.DrawImage(bmp2, 0, 0);
                grBack.RotateTransform(-180);

                grBack.RotateTransform(-j);

                grBack.TranslateTransform(-minX3_2, -minX3_2);

                bmp2.Dispose();
                brDefault.Dispose();
                brProgress.Dispose();
            }
        }
 void Start()
 {
     _Instance   = this;
     LoadCtrlObj = gameObject;
     LoadCtrlObj.SetActive(false);
 }
Ejemplo n.º 10
0
        protected override void CreateBitmap()
        {
            if (Parent == null)
            {
                FreeBitmap();
                return;
            }

            LoadingCtrl ctrl = Parent;
            float       min  = Math.Min(
                ctrl.ClientRectangle.Width,
                ctrl.ClientRectangle.Height);
            float min2     = min / 2;
            float min4     = min2 / 2;
            float min8     = min4 / 2;
            float min_tra  = min / 3;
            float min_tra2 = min_tra / 2;
            float min_tra4 = min_tra2 / 2;
            float min_tra8 = min_tra4 / 2;

            FreeBitmap();
            if (min < 1)
            {
                return;
            }

            bmpBack = new Bitmap((int)min, (int)min);

            using (Graphics grBack = Graphics.FromImage(bmpBack))
            {
                Brush brDefault  = new SolidBrush(colorDefault);
                Brush brProgress = new SolidBrush(colorProgress);

                grBack.TranslateTransform(min2, min2);

                float    q      = min_tra2;
                float    tra48  = min_tra4 + min_tra8;
                PointF[] points = new PointF[] {
                    new PointF(0 + q, 0 + q),
                    RotatePoint(min_tra2, tra48 + q, tra48 + q, -angleField),
                    RotatePoint(min_tra2, tra48 + q, tra48 + q, angleField)
                };

                Bitmap bmpDefault = new Bitmap((int)min_tra, (int)min_tra);
                using (Graphics grBmp = Graphics.FromImage(bmpDefault))
                {
                    grBmp.FillPolygon(brDefault, points);
                }

                Bitmap bmpProgress = new Bitmap((int)min_tra, (int)min_tra);
                using (Graphics grBmp = Graphics.FromImage(bmpProgress))
                {
                    grBmp.FillPolygon(brProgress, points);
                }

                int j = 0;
                int k = 0;
                for (int i = 0; i < 360; i += rotateAngle, j++)
                {
                    if (j < 5)
                    {
                        float f = (2 - Math.Abs(2 - j)) * min_tra8;
                        grBack.TranslateTransform(-f, -f);
                        grBack.DrawImage(bmpProgress, 0, 0);
                        grBack.TranslateTransform(f, f);
                    }
                    else
                    {
                        grBack.DrawImage(bmpDefault, 0, 0);
                    }
                    grBack.RotateTransform(rotateAngle);
                    k += rotateAngle;
                }

                grBack.RotateTransform(-k);
                grBack.TranslateTransform(-min2, -min2);

                bmpDefault.Dispose();
                bmpProgress.Dispose();
                brProgress.Dispose();
                brDefault.Dispose();
            }
        }
Ejemplo n.º 11
0
    /// <summary>
    /// 随机staff用。随机杀死魔法少女(?)
    /// </summary>
    public void RandomKillGirl()
    {
        int i = Random.Range(0, 11);

        // i == 0 :全员幸存
        if (i == 1) //只有鹿目圆死亡
        {
            gameScoreSettingsIO.MagicalGirlsDie[2] = true;
        }
        //只有可怜的蓝毛死亡
        else if (i == 2)
        {
            gameScoreSettingsIO.MagicalGirlsDie[4] = true;
        }
        //只有杏子死亡
        else if (i == 3)
        {
            gameScoreSettingsIO.MagicalGirlsDie[1] = true;
        }
        //除了蓝毛红毛都死了
        else if (i == 4)
        {
            gameScoreSettingsIO.MagicalGirlsDie[0] = true;
            gameScoreSettingsIO.MagicalGirlsDie[2] = true;
            gameScoreSettingsIO.MagicalGirlsDie[3] = true;
        }
        //除了学姐都死了
        else if (i == 5)
        {
            gameScoreSettingsIO.MagicalGirlsDie[0] = true;
            gameScoreSettingsIO.MagicalGirlsDie[1] = true;
            gameScoreSettingsIO.MagicalGirlsDie[2] = true;
            gameScoreSettingsIO.MagicalGirlsDie[4] = true;
        }
        //只有学姐死了
        else if (i == 6)
        {
            gameScoreSettingsIO.MagicalGirlsDie[3] = true;
        }
        //只有鹿目圆和沙耶加死亡
        else if (i == 7)
        {
            gameScoreSettingsIO.MagicalGirlsDie[4] = true;
            gameScoreSettingsIO.MagicalGirlsDie[2] = true;
        }
        //除了粉焰全挂了
        else if (i == 8)
        {
            gameScoreSettingsIO.MagicalGirlsDie[1] = true;
            gameScoreSettingsIO.MagicalGirlsDie[3] = true;
            gameScoreSettingsIO.MagicalGirlsDie[4] = true;
        }
        //全挂了
        else if (i == 9)
        {
            gameScoreSettingsIO.MagicalGirlsDie[0] = true;
            gameScoreSettingsIO.MagicalGirlsDie[1] = true;
            gameScoreSettingsIO.MagicalGirlsDie[2] = true;
            gameScoreSettingsIO.MagicalGirlsDie[3] = true;
            gameScoreSettingsIO.MagicalGirlsDie[4] = true;
        }
        //轮回吧,吼姆拉
        else
        {
            gameScoreSettingsIO.MagicalGirlsDie[0] = true;
        }

        LoadingCtrl.LoadScene(4, false);
    }
Ejemplo n.º 12
0
 void Start()
 {
     logicCtr = new LoadingCtrl(this);
     GetResoures();
 }
Ejemplo n.º 13
0
        protected override void CreateBitmap()
        {
            if (Parent == null)
            {
                FreeBitmap();
                return;
            }

            LoadingCtrl ctrl = Parent;
            float       min  = Math.Min(
                ctrl.ClientRectangle.Width / 3F,
                ctrl.ClientRectangle.Height / 3F);
            float min2    = min / 2;
            float min4    = min2 / 2;
            float min8    = min4 / 2;
            float minX3   = min * 3;
            float minX3_2 = minX3 / 2;

            FreeBitmap();
            if (min < 1)
            {
                return;
            }

            bmpBack = new Bitmap((int)minX3, (int)minX3);

            using (Graphics grBack = Graphics.FromImage(bmpBack))
            {
                Brush brCage  = new SolidBrush(colorCage);
                Brush brBird  = new SolidBrush(colorBird);
                Pen   penCage = new Pen(colorCage, 2);

                grBack.FillRectangle(Brushes.Transparent, 0, 0, (int)minX3, (int)minX3);

                grBack.TranslateTransform(minX3_2, minX3_2);

                //Draw Bird
                LinearGradientBrush gradBrush = new LinearGradientBrush(
                    new RectangleF(0, 0, min2 + min4, min2 + min4),
                    colorBird, ctrl.BackColor,
                    LinearGradientMode.Horizontal);
                grBack.TranslateTransform(min2, min2);
                grBack.RotateTransform(320);
                grBack.TranslateTransform(-min4, 0);
                grBack.FillPolygon(brBird, new PointF[] {
                    new PointF(-min4, 0),
                    new PointF(min4, -min4),
                    new PointF(0, 0),
                    new PointF(min4, min4)
                });
                grBack.FillPolygon(gradBrush, new PointF[] {
                    new PointF(min4, -min8),
                    new PointF(min4, min8),
                    new PointF(min2 + min4, 0)
                });
                gradBrush.Dispose();
                grBack.TranslateTransform(min4, 0);
                grBack.RotateTransform(-320);
                grBack.TranslateTransform(-min2, -min2);

                //Draw Cage
                RectangleF   rcf = new RectangleF(0, 0, min, min);
                GraphicsPath gp1 = new GraphicsPath();
                gp1.AddEllipse(rcf);

                double teta = (Math.PI * shapeAngle / 180F);
                double x    = min2;
                double y    = min2;
                float  xp   = (float)((x * Math.Cos(teta)) - (y * Math.Sin(teta)));
                float  yp   = (float)((x * Math.Sin(teta)) + (y * Math.Cos(teta)));
                xp -= min2;
                yp -= min2;

                float diagonal = Math.Abs(xp);

                rcf = new RectangleF(xp, yp, min, min);
                GraphicsPath gp2 = new GraphicsPath();
                gp2.AddEllipse(rcf);

                Region rgn = new Region(gp1);
                rgn.Union(gp2);
                rgn.Xor(gp2);

                Bitmap bmp2 = new Bitmap((int)min, (int)min);
                using (Graphics grBmp = Graphics.FromImage(bmp2))
                {
                    grBmp.SetClip(rgn, CombineMode.Replace);
                    grBmp.FillPath(brCage, gp1);
                }
                int j = 0;
                for (int i = 0; i < 360; i += rotateAngle)
                {
                    j += rotateAngle;
                    grBack.DrawImage(bmp2, 0, 0);
                    grBack.RotateTransform(rotateAngle);
                }
                grBack.RotateTransform(-j);

                float f = diagonal * 2;
                grBack.DrawEllipse(penCage, -diagonal, -diagonal, f, f);
                f = min + diagonal;
                grBack.DrawEllipse(penCage, -f, -f, f * 2, f * 2);

                grBack.TranslateTransform(-minX3_2, -minX3_2);

                bmp2.Dispose();
                brCage.Dispose();
                brBird.Dispose();
                penCage.Dispose();
            }
        }
Ejemplo n.º 14
0
        protected override void CreateBitmap()
        {
            if (Parent == null)
            {
                FreeBitmap();
                return;
            }

            LoadingCtrl ctrl = Parent;
            float       min  = Math.Min(
                ctrl.ClientRectangle.Width,
                ctrl.ClientRectangle.Height);
            float min2 = min / 2;
            float min4 = min2 / 2;
            float min8 = min4 / 2;

            FreeBitmap();
            if (min < 1)
            {
                return;
            }

            bmpBack = new Bitmap((int)min, (int)min);

            using (Graphics grBack = Graphics.FromImage(bmpBack))
            {
                Brush brContent = new SolidBrush(colorContent);
                Pen   penEdge   = new Pen(colorEdge, widthEdge);

                grBack.FillRectangle(Brushes.Transparent, 0, 0, min, min);

                grBack.TranslateTransform(min2, min2);

                float    v1 = min2 - min8;
                float    v2 = min8;
                PointF[] pf =
                {
                    new PointF(-v2, -v1),
                    new PointF(v2,  -v1),
                    new PointF(v2,  -v2),
                    new PointF(v1,  -v2),
                    new PointF(v1,  v2),
                    new PointF(v2,  v2),
                    new PointF(v2,  v1),
                    new PointF(-v2, v1),
                    new PointF(-v2, v2),
                    new PointF(-v1, v2),
                    new PointF(-v1, -v2),
                    new PointF(-v2, -v2)
                };

                GraphicsPath gp = new GraphicsPath();
                gp.AddLines(pf);
                gp.CloseFigure();

                grBack.FillPath(brContent, gp);
                grBack.DrawPath(penEdge, gp);

                grBack.TranslateTransform(-min2, -min2);

                penEdge.Dispose();
                brContent.Dispose();
            }
        }