Пример #1
0
        /// 全コントロールの描画
        public void Draw()
        {
            graphDev.Graphics.SetTexture(0, StaticDataList.textureUnified);

            ctrlCam.Draw(graphDev);

            if (countTime <= (int)Data.SetupValue.EnemyAppearTime - 50)
            {
                ctrlStg.setBrightness(0.0f);
            }
            else if ((int)Data.SetupValue.EnemyAppearTime - 50 < countTime && countTime <= (int)Data.SetupValue.EnemyAppearTime)
            {
                ctrlStg.setBrightness(1.0f - ((int)Data.SetupValue.EnemyAppearTime - countTime) / 50.0f);
            }
            else if ((int)Data.SetupValue.EnemyAppearTime < countTime && countTime <= (int)Data.SetupValue.EnemyAppearTime + (int)Data.SetupValue.EnemyAppearingTime - 50)
            {
                ctrlStg.setBrightness(1.0f);
            }
            else if ((int)Data.SetupValue.EnemyAppearTime + (int)Data.SetupValue.EnemyAppearingTime - 50 < countTime && countTime < (int)Data.SetupValue.EnemyAppearTime + (int)Data.SetupValue.EnemyAppearingTime)
            {
                ctrlStg.setBrightness((((int)Data.SetupValue.EnemyAppearTime + (int)Data.SetupValue.EnemyAppearingTime) - countTime) / 50.0f);
            }
            else if ((int)Data.SetupValue.EnemyAppearTime + (int)Data.SetupValue.EnemyAppearingTime < countTime && countTime < (int)Data.SetupValue.EnemyAppearTime + (int)Data.SetupValue.EnemyAppearingTime + 200)
            {
                ctrlStg.setBrightness(0.0f);
            }
            else if ((int)Data.SetupValue.EnemyAppearTime + (int)Data.SetupValue.EnemyAppearingTime + 200 < countTime)
            {
                countTime = 0;
            }
            ctrlStg.Draw(graphDev);

//		int allNumber = ctrlMo.GetActiveNum() + ctrlHobit.GetActiveNum() + ctrlHouse.GetActiveNum() + ctrlTo.GetActiveNum() + ctrlWall.GetActiveNum() + Scene2dTex.GetInstance().GetObjNumber();
            int allNumber = ctrlMo.GetActiveNum() + ctrlHobit.GetActiveNum() + CtrlHobit.speakCount + ctrlHouse.GetActiveNum() + ctrlTo.GetActiveNum() + ctrlWall.GetActiveNum() + 1;

            if (allNumber > 4096)
            {
                 allNumber = 4096;
            }
            SetSpriteCount(allNumber);

            if (eatingBoss == true)
            {
                ctrlPl.Draw(graphDev);
            }

            ClearSpriteCounter();

            while (true)
            {
                SetDrawFlag();

                if (EnemyDrawFlag == true)
                {
                    ctrlHobit.DrawIdx(graphDev, EnemyNumber);
                    EnemyNumber++;
                    EnemyDrawFlag = false;
                }

                if (TowerDrawFlag == true)
                {
                    ctrlTo.DrawIdx(graphDev, TowerNumber);
                    TowerNumber++;
                    TowerDrawFlag = false;
                }

                if (HouseDrawFlag == true)
                {
                    ctrlHouse.DrawIdx(graphDev, HouseNumber);
                    HouseNumber++;
                    HouseDrawFlag = false;
                }

                if (MonumentDrawFlag == true)
                {
                    ctrlMo.DrawIdx(graphDev, MonumentNumber);
                    MonumentNumber++;
                    MonumentDrawFlag = false;
                }

                if (WallDrawFlag == true)
                {
                    ctrlWall.DrawIdx(graphDev, WallNumber);
                    WallNumber++;
                    WallDrawFlag = false;
                }



                if ((EnemyNumber == ctrlHobit.GetActiveNum() || ctrlHobit.GetActiveNum() == 0) &&
                    (TowerNumber == ctrlTo.GetActiveNum() || ctrlTo.GetActiveNum() == 0) &&
                    (HouseNumber == ctrlHouse.GetActiveNum() || ctrlHouse.GetActiveNum() == 0) &&
                    (WallNumber == ctrlWall.GetActiveNum() || ctrlWall.GetActiveNum() == 0) &&
                    (MonumentNumber == ctrlMo.GetActiveNum() || ctrlMo.GetActiveNum() == 0))
                {
                    EnemyNumber      = 0;
                    TowerNumber      = 0;
                    HouseNumber      = 0;
                    WallNumber       = 0;
                    MonumentNumber   = 0;
                    EnemyDrawFlag    = false;
                    TowerDrawFlag    = false;
                    HouseDrawFlag    = false;
                    WallDrawFlag     = false;
                    MonumentDrawFlag = false;
                    break;
                }
            }
            batch.Draw(graphDev);

            ctrlHobit.DrawText(graphDev);

            Scene2dTex.GetInstance().Draw();

            for (int i = 0; i < spriteCount; i++)
            {
                sprites[i].UpdatePosTex();
            }


            /*
             * for(int i=0;i<spriteCount;i++){
             *      sprites[i].UpdateAll();
             * }
             * spriteCount = 8000;
             */
            /// 半透明の物は奥から描く
            GameCtrlDrawManager.GetInstance().EntryStart();
            if (eatingBoss == false)
            {
                ctrlPl.Draw(graphDev);
            }
            ctrlEffect.Draw(graphDev);
            GameCtrlDrawManager.GetInstance().SortFar();
            GameCtrlDrawManager.GetInstance().Draw(graphDev);
        }