Exemplo n.º 1
0
        private void AddGoldenNote(SRectF Rect, int n, int Nr, float factor)
        {
            const int spacing = 0;

            if (Nr > _PlayerNotes[n].GoldenStars.Count)
            {
                float d  = (1f - factor) / 2 * Rect.H;
                float dw = d;

                if (2 * dw > Rect.W)
                {
                    dw = Rect.W / 2;
                }

                SRectF r = new SRectF(
                    Rect.X + dw + spacing,
                    Rect.Y + d + spacing,
                    Rect.W - 2 * dw - 2 * spacing,
                    Rect.H - 2 * d - 2 * spacing,
                    Rect.Z
                    );

                int             numstars = (int)(r.W * 0.25f);
                CParticleEffect stars    = new CParticleEffect(numstars, new SColorF(1f, 1f, 0f, 1f), r, _Theme.SkinGoldenStarName, 20, EParticeType.Star);
                _PlayerNotes[n].GoldenStars.Add(stars);
            }
        }
Exemplo n.º 2
0
        private void _AddPerfectLine()
        {
            var twinkle = new CParticleEffect(_PartyModeID, 200, _Color, Rect, _Theme.SkinGoldenStar, 25, EParticleType.Twinkle);

            twinkle.AllMonitors = false;
            _PerfectLineTwinkle.Add(twinkle);
        }
Exemplo n.º 3
0
    public CParticleEffect GetParticle(string EffectName)
    {
        IntPtr          cPtr = testPINVOKE.CEffectsManager_GetParticle(swigCPtr, EffectName);
        CParticleEffect ret  = (cPtr == IntPtr.Zero) ? null : new CParticleEffect(cPtr, false);

        return(ret);
    }
Exemplo n.º 4
0
        private void _AddGoldenNote(SRectF noteRect)
        {
            var numstars = (int)(noteRect.W * 0.25f);
            var stars    = new CParticleEffect(_PartyModeID, numstars, new SColorF(Color.Yellow), noteRect, _Theme.SkinGoldenStar, 20, EParticleType.Star);

            _GoldenStars.Add(stars);
        }
Exemplo n.º 5
0
        private void _AddFlare(SRectF noteRect)
        {
            var rect = new SRectF(noteRect.Right, noteRect.Y, 0f, noteRect.H, noteRect.Z);

            var flares = new CParticleEffect(_PartyModeID, 15, new SColorF(Color.White), rect, _Theme.SkinGoldenStar, 20, EParticleType.Flare);

            _Flares.Add(flares);
        }
Exemplo n.º 6
0
 public CCreditName(CStatic image, CStatic imgDot, CParticleEffect particle, int particleOffsetX, int particleOffsetY)
 {
     _Image           = image;
     _ImgDot          = imgDot;
     _Particle        = particle;
     _ParticleOffsetX = (int)Math.Round(particleOffsetX * image.Rect.W / image.Texture.OrigSize.Width - particle.Rect.W / 2);
     _ParticleOffsetY = (int)Math.Round(particleOffsetY * image.Rect.H / image.Texture.OrigSize.Height - particle.Rect.H / 2);
     Visible          = true;
 }
Exemplo n.º 7
0
        private void _AddPerfectNote(SRectF noteRect)
        {
            CTextureRef noteBegin = CBase.Themes.GetSkinTexture(_Theme.SkinRight, _PartyModeID);
            float       dx        = noteRect.H * noteBegin.OrigAspect;

            if (2 * dx > noteRect.W)
            {
                dx = noteRect.W / 2;
            }

            SRectF r = new SRectF(noteRect.Right - dx, noteRect.Y, dx * 0.5f, dx * 0.2f, noteRect.Z);

            var stars = new CParticleEffect(_PartyModeID, CBase.Game.GetRandom(2) + 1, new SColorF(Color.White), r, _Theme.SkinPerfectNoteStart, 35,
                                            EParticleType.PerfNoteStar);

            _PerfectNoteEffect.Add(stars);
        }
Exemplo n.º 8
0
        private void AddPerfectNote(SRectF Rect, int n, float factor)
        {
            const int spacing = 0;

            float d  = (1f - factor) / 2 * Rect.H;
            float dw = d;

            if (2 * dw > Rect.W)
            {
                dw = Rect.W / 2;
            }

            SRectF r = new SRectF(
                Rect.X + dw + spacing,
                Rect.Y + d + spacing,
                Rect.W - 2 * dw - 2 * spacing,
                Rect.H - 2 * d - 2 * spacing,
                Rect.Z
                );

            STexture NoteBegin = CTheme.GetSkinTexture(_Theme.SkinLeftName);
            float    dx        = NoteBegin.width * r.H / NoteBegin.height;

            if (2 * dx > r.W)
            {
                dx = r.W / 2;
            }

            r = new SRectF(
                r.X + r.W - dx,
                r.Y,
                dx * 0.5f,
                dx * 0.2f,
                Rect.Z
                );

            CParticleEffect stars = new CParticleEffect(CGame.Rand.Next(2) + 1, new SColorF(1f, 1f, 1f, 1f), r, _Theme.SkinPerfectNoteStarName, 35, EParticeType.PerfNoteStar);

            _PlayerNotes[n].PerfectNoteEffect.Add(stars);
        }
Exemplo n.º 9
0
        private void _AddNewCreditName(CTextureRef texture, int particleOffsetX, int particleOffsetY, bool bigParticles)
        {
            bool        isRed        = _CreditNames.Count % 2 == 0;
            int         partRectSize = bigParticles ? 25 : 20;
            int         partCount    = bigParticles ? 8 : 6;
            CTextureRef texDot       = isRed ? _TexRedDot : _TexBlueDot;

            CStatic image = GetNewStatic(texture, new SColorF(1, 1, 1, 1), new SRectF(-1, -1, 400, 120, -4));

            var    particleRect = new SRectF(-1, -1, partRectSize, partRectSize, -6);
            SRectF imgDotRect   = particleRect;

            imgDotRect.Z = -5;
            CStatic         imgDot   = GetNewStatic(texDot, new SColorF(1, 1, 1, 1), imgDotRect);
            CParticleEffect particle = _GetStarParticles(partCount, isRed, particleRect, bigParticles);

            var credit = new CCreditName(image, imgDot, particle, particleOffsetX, particleOffsetY);

            _CreditNames.Add(credit);
            _AddStatic(image);
            _AddStatic(imgDot);
            _AddParticleEffect(particle);
        }
Exemplo n.º 10
0
        private void AddFlare(SRectF Rect, int n, float factor)
        {
            const int spacing = 0;

            float d  = (1f - factor) / 2 * Rect.H;
            float dw = d;

            if (2 * dw > Rect.W)
            {
                dw = Rect.W / 2;
            }

            SRectF r = new SRectF(
                Rect.X + dw + spacing + Rect.W - 2 * dw - 2 * spacing,
                Rect.Y + d + spacing,
                0f,
                Rect.H - 2 * d - 2 * spacing,
                Rect.Z
                );

            CParticleEffect flares = new CParticleEffect(15, new SColorF(1f, 1f, 1f, 1f), r, _Theme.SkinGoldenStarName, 20, EParticeType.Flare);

            _PlayerNotes[n].Flares.Add(flares);
        }
Exemplo n.º 11
0
        private void AddPerfectLine(int n)
        {
            CParticleEffect twinkle = new CParticleEffect(200, _PlayerNotes[n].Color, _PlayerNotes[n].Rect, _Theme.SkinGoldenStarName, 25, EParticeType.Twinkle);

            _PlayerNotes[n].PerfectLineTwinkle.Add(twinkle);
        }
Exemplo n.º 12
0
 public static void AddDynamicEffect(CParticleEffect e)
 {
     testPINVOKE.CParticleEffect_AddDynamicEffect(CParticleEffect.getCPtr(e));
 }
Exemplo n.º 13
0
 internal static HandleRef getCPtr(CParticleEffect obj)
 {
     return((obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr);
 }
Exemplo n.º 14
0
        public override void OnShow()
        {
            base.OnShow();

            //Vocaluxe-Logo
            logo = new CStatic(_TexLogo, new SColorF(1, 1, 1, 1), new SRectF((CSettings.iRenderW - _TexLogo.width) / 2, -270, _TexLogo.width, _TexLogo.height, -2));

            //Little stars for logo
            int numstars = (int)(logo.Rect.W * 0.25f / 2f);

            starsRed  = new CParticleEffect(numstars, new SColorF(1, 0, 0, 1), new SRectF(logo.Rect.X, logo.Rect.Y, logo.Rect.W, logo.Rect.H, -1), _TexPerfectNoteStar, 35, EParticeType.Star);
            starsBlue = new CParticleEffect(numstars, new SColorF(0.149f, 0.415f, 0.819f, 1), new SRectF(logo.Rect.X, logo.Rect.Y, logo.Rect.W, logo.Rect.H, -1), _TexPerfectNoteStar, 35, EParticeType.Star);

            //Credit names
            _CreditNames = new List <CCreditName>();
            CCreditName CreditEntry = new CCreditName();

            //brunzel
            CCreditName CreditEntryBrunzel = new CCreditName();

            CreditEntryBrunzel.image        = new CStatic(_TexNameBrunzel, new SColorF(1, 1, 1, 1), new SRectF(-450, 580, 400, 120, -4));
            CreditEntryBrunzel.particleRect = new SRectF(CreditEntryBrunzel.image.Rect.X + 342, CreditEntryBrunzel.image.Rect.Y + 4, 30, 30, -5);
            CreditEntryBrunzel.particle     = new CParticleEffect(8, new SColorF(1, 0, 0, 1), CreditEntryBrunzel.particleRect, _TexPerfectNoteStar, 35, EParticeType.Star);
            CreditEntryBrunzel.active       = true;
            CreditEntryBrunzel.direction    = EDirection.Left;
            _CreditNames.Add(CreditEntryBrunzel);

            //Darkice
            CCreditName CreditEntryDarkice = new CCreditName();

            CreditEntryDarkice.image        = new CStatic(_TexNameDarkice, new SColorF(1, 1, 1, 1), new SRectF(CSettings.iRenderW, 580, 400, 120, -4));
            CreditEntryDarkice.particleRect = new SRectF(CreditEntryDarkice.image.Rect.X + 242, CreditEntryDarkice.image.Rect.Y + 23, 30, 30, -5);
            CreditEntryDarkice.particle     = new CParticleEffect(8, new SColorF(0.149f, 0.415f, 0.819f, 1), CreditEntryDarkice.particleRect, _TexPerfectNoteStar, 35, EParticeType.Star);
            CreditEntryDarkice.active       = true;
            CreditEntryDarkice.direction    = EDirection.Right;
            _CreditNames.Add(CreditEntryDarkice);

            //flokuep
            CCreditName CreditEntryFlokuep = new CCreditName();

            CreditEntryFlokuep.image        = new CStatic(_TexNameFlokuep, new SColorF(1, 1, 1, 1), new SRectF(-450, 580, 400, 120, -4));
            CreditEntryFlokuep.particleRect = new SRectF(CreditEntryFlokuep.image.Rect.X + 141, CreditEntryFlokuep.image.Rect.Y - 2, 30, 30, -5);
            CreditEntryFlokuep.particle     = new CParticleEffect(8, new SColorF(1, 0, 0, 1), CreditEntryFlokuep.particleRect, _TexPerfectNoteStar, 35, EParticeType.Star);
            CreditEntryFlokuep.active       = true;
            CreditEntryFlokuep.direction    = EDirection.Left;
            _CreditNames.Add(CreditEntryFlokuep);

            //bohning
            CCreditName CreditEntryBohning = new CCreditName();

            CreditEntryBohning.image        = new CStatic(_TexNameBohning, new SColorF(1, 1, 1, 1), new SRectF(CSettings.iRenderW, 580, 350, 110, -4));
            CreditEntryBohning.particleRect = new SRectF(CreditEntryBohning.image.Rect.X + 172, CreditEntryBohning.image.Rect.Y + 16, 10, 10, -5);
            CreditEntryBohning.particle     = new CParticleEffect(4, new SColorF(0.149f, 0.415f, 0.819f, 1), CreditEntryBohning.particleRect, _TexPerfectNoteStar, 25, EParticeType.Star);
            CreditEntryBohning.active       = true;
            CreditEntryBohning.direction    = EDirection.Right;
            _CreditNames.Add(CreditEntryBohning);

            //mesand
            CCreditName CreditEntryMesand = new CCreditName();

            CreditEntryMesand.image        = new CStatic(_TexNameMesand, new SColorF(1, 1, 1, 1), new SRectF(-450, 580, 350, 110, -4));
            CreditEntryMesand.particleRect = new SRectF(CreditEntryMesand.image.Rect.X + 240, CreditEntryMesand.image.Rect.Y - 2, 10, 10, -5);
            CreditEntryMesand.particle     = new CParticleEffect(4, new SColorF(1, 0, 0, 1), CreditEntryMesand.particleRect, _TexPerfectNoteStar, 25, EParticeType.Star);
            CreditEntryMesand.active       = true;
            CreditEntryMesand.direction    = EDirection.Left;
            _CreditNames.Add(CreditEntryMesand);

            //babene03
            CCreditName CreditEntryBabene03 = new CCreditName();

            CreditEntryBabene03.image        = new CStatic(_TexNameBabene03, new SColorF(1, 1, 1, 1), new SRectF(CSettings.iRenderW, 580, 350, 110, -4));
            CreditEntryBabene03.particleRect = new SRectF(CreditEntryBabene03.image.Rect.X + 7, CreditEntryBabene03.image.Rect.Y + 4, 10, 10, -5);
            CreditEntryBabene03.particle     = new CParticleEffect(4, new SColorF(0.149f, 0.415f, 0.819f, 1), CreditEntryBabene03.particleRect, _TexPerfectNoteStar, 25, EParticeType.Star);
            CreditEntryBabene03.active       = true;
            CreditEntryBabene03.direction    = EDirection.Right;
            _CreditNames.Add(CreditEntryBabene03);

            //pantero
            CCreditName CreditEntrypantero = new CCreditName();

            CreditEntrypantero.image        = new CStatic(_TexNamePantero, new SColorF(1, 1, 1, 1), new SRectF(-450, 580, 350, 110, -4));
            CreditEntrypantero.particleRect = new SRectF(CreditEntrypantero.image.Rect.X + 140, CreditEntrypantero.image.Rect.Y + 15, 10, 10, -5);
            CreditEntrypantero.particle     = new CParticleEffect(4, new SColorF(1, 0, 0, 1), CreditEntrypantero.particleRect, _TexPerfectNoteStar, 25, EParticeType.Star);
            CreditEntrypantero.active       = true;
            CreditEntrypantero.direction    = EDirection.Left;
            _CreditNames.Add(CreditEntrypantero);

            //Pinky007
            CCreditName CreditEntryPinky007 = new CCreditName();

            CreditEntryPinky007.image        = new CStatic(_TexNamePinky007, new SColorF(1, 1, 1, 1), new SRectF(CSettings.iRenderW, 580, 350, 110, -4));
            CreditEntryPinky007.particleRect = new SRectF(CreditEntryPinky007.image.Rect.X + 42, CreditEntryPinky007.image.Rect.Y + 15, 10, 10, -5);
            CreditEntryPinky007.particle     = new CParticleEffect(4, new SColorF(0.149f, 0.415f, 0.819f, 1), CreditEntryPinky007.particleRect, _TexPerfectNoteStar, 25, EParticeType.Star);
            CreditEntryPinky007.active       = true;
            CreditEntryPinky007.direction    = EDirection.Right;
            _CreditNames.Add(CreditEntryPinky007);

            TextTimer.Reset();
            LogoTimer.Reset();
            CreditsTimer.Reset();
        }
Exemplo n.º 15
0
        public override void LoadTheme(string xmlPath)
        {
            bool ressourceOK = true;

            //Vocaluxe-Logo
            ressourceOK &= CDataBase.GetCreditsRessource("Logo_voc.png", ref _TexLogo);

            //Little stars for logo
            ressourceOK &= CDataBase.GetCreditsRessource("PerfectNoteStar.png", ref _TexPerfectNoteStar);

            ressourceOK &= CDataBase.GetCreditsRessource("redDot.png", ref _TexRedDot);
            ressourceOK &= CDataBase.GetCreditsRessource("blueDot.png", ref _TexBlueDot);

            ressourceOK &= CDataBase.GetCreditsRessource("brunzel.png", ref _TexNameBrunzel);
            ressourceOK &= CDataBase.GetCreditsRessource("Darkice.png", ref _TexNameDarkice);
            ressourceOK &= CDataBase.GetCreditsRessource("flokuep.png", ref _TexNameFlokuep);
            ressourceOK &= CDataBase.GetCreditsRessource("flamefire.png", ref _TexNameFlamefire);
            ressourceOK &= CDataBase.GetCreditsRessource("lukeIam.png", ref _TexNameLukeIam);
            ressourceOK &= CDataBase.GetCreditsRessource("bohning.png", ref _TexNameBohning);
            ressourceOK &= CDataBase.GetCreditsRessource("mesand.png", ref _TexNameMesand);
            ressourceOK &= CDataBase.GetCreditsRessource("babene03.png", ref _TexNameBabene03);

            if (!ressourceOK)
            {
                CLog.Fatal("Could not load all ressources!");
            }

            //Prepare Text
            int lastY = 280;

            foreach (string[] paragraph in _Paragraphs)
            {
                string line = "";
                for (int e = 0; e < paragraph.Length; e++)
                {
                    if (paragraph[e] == null)
                    {
                        continue;
                    }
                    string newLine = " " + paragraph[e];
                    CText  text    = GetNewText(75, lastY, -2, 25, -1, EAlignment.Left, EStyle.Bold, "Outline", new SColorF(1, 1, 1, 1), line);
                    text.Visible = false;
                    if (CFonts.GetTextBounds(text).Width < (CSettings.RenderW - 220))
                    {
                        line += newLine;

                        //Check if all words are used
                        if ((e + 1) == paragraph.Length)
                        {
                            text.Text = line;
                            _ParagraphTexts.Add(text);
                            line   = "";
                            lastY += 40;
                        }
                    }
                    else
                    {
                        _ParagraphTexts.Add(text);
                        line   = newLine;
                        lastY += 27;
                    }
                    _AddText(text);
                }
            }

            CBackground bg = new CBackground(_BGTheme, -1);

            bg.LoadSkin();
            _AddBackground(bg);

            //Vocaluxe-Logo
            _Logo = GetNewStatic(_TexLogo, new SColorF(1, 1, 1, 1),
                                 new SRectF((float)(CSettings.RenderW - _TexLogo.OrigSize.Width) / 2, -270, _TexLogo.OrigSize.Width, _TexLogo.OrigSize.Height, -2));
            _AddStatic(_Logo);

            //Little stars for logo
            var numstars = (int)(_Logo.Rect.W * 0.25f / 2f);
            var partRect = new SRectF(_Logo.Rect.X, _Logo.Rect.Y, _Logo.Rect.W, _Logo.Rect.H, -1);

            _StarsRed  = _GetStarParticles(numstars, true, partRect, true);
            _StarsBlue = _GetStarParticles(numstars, false, partRect, true);
            _AddParticleEffect(_StarsRed);
            _AddParticleEffect(_StarsBlue);

            //Credit names
            _CreditNames = new List <CCreditName>();

            _AddNewCreditName(_TexNameBrunzel, 502, 29, true);
            _AddNewCreditName(_TexNameDarkice, 360, 55, true);
            _AddNewCreditName(_TexNameFlokuep, 214, 14, true);
            _AddNewCreditName(_TexNameFlamefire, 496, 46, true);
            _AddNewCreditName(_TexNameLukeIam, 411, 26, true);
            _AddNewCreditName(_TexNameBohning, 383, 54, false);
            _AddNewCreditName(_TexNameMesand, 525, 13, false);
            _AddNewCreditName(_TexNameBabene03, 33, 26, false);

            _AddTranslations();
        }