Exemple #1
0
 /// <summary>Reloads all graphics resource.</summary>
 /// <remarks>Called for instance after a game box has just been loaded.</remarks>
 public override void ResetGraphicsElements(IGraphics graphics, ITileSet iconsTileSet)
 {
     buttonImageElements = new IImage[5] {
         iconsTileSet.ExtractImage(new RectangleF(32.0f * 4, 25.0f * 4, 18.0f * 4, 28.0f * 4)),
         iconsTileSet.ExtractImage(new RectangleF(50.0f * 4, 25.0f * 4, 18.0f * 4, 28.0f * 4)),
         iconsTileSet.ExtractImage(new RectangleF(49.0f * 4, 25.0f * 4, 1.0f * 4, 28.0f * 4)),
         iconsTileSet.ExtractImage(new RectangleF(59.0f * 4, 1.0f * 4, 13.0f * 4, 14.0f * 4)),
         iconsTileSet.ExtractImage(new RectangleF(1.0f * 4, 48.0f * 4, 13.0f * 4, 11.0f * 4))
     };
 }
Exemple #2
0
 /// <summary>Reloads all graphics resource.</summary>
 /// <remarks>Called for instance after a game box has just been loaded.</remarks>
 public override void ResetGraphicsElements(IGraphics graphics, ITileSet iconsTileSet)
 {
     //rotationMarkImage = iconsTileSet.ExtractImage(new RectangleF(13.0f * 4, 0.0f * 4, 16.0f * 4, 21.0f * 4));
     frameImageElements = new IImage[2] {
         iconsTileSet.ExtractImage(new RectangleF(205.0f * 4, 2.0f * 4, 1.0f * 4, 6.0f * 4)),
         iconsTileSet.ExtractImage(new RectangleF(205.0f * 4, 8.0f * 4, 1.0f * 4, 1.0f * 4))
     };
     pinIcon   = iconsTileSet.ExtractImage(new RectangleF(20.0f * 4, 76.0f * 4, 22.0f * 4, 10.0f * 4));
     unpinIcon = iconsTileSet.ExtractImage(new RectangleF(44.0f * 4, 76.0f * 4, 10.0f * 4, 10.0f * 4));
 }
Exemple #3
0
        /// <summary>Reloads all graphics resource.</summary>
        /// <remarks>Called for instance after a game box has just been loaded.</remarks>
        public override void ResetGraphicsElements(IGraphics graphics, ITileSet iconsTileSet)
        {
            loudspeakerIcon         = iconsTileSet.ExtractImage(new RectangleF(208.0f * 4, 1.0f * 4, 10.0f * 4, 15.0f * 4));
            soundWavesIcon          = iconsTileSet.ExtractImage(new RectangleF(218.0f * 4, 1.0f * 4, 10.0f * 4, 15.0f * 4));
            frameIcon               = iconsTileSet.ExtractImage(new RectangleF(1.0f * 4, 163.0f * 4, 195.0f * 4, 76.0f * 4));
            playerIcon              = iconsTileSet.ExtractImage(new RectangleF(1.0f * 4, 98.0f * 4, 64.0f * 4, 64.0f * 4));
            microphoneLevelIcon     = iconsTileSet.ExtractImage(new RectangleF(198.0f * 4, 171.0f * 4, 19.0f * 4, 59.0f * 4));
            microphoneThresholdIcon = iconsTileSet.ExtractImage(new RectangleF(221.0f * 4, 208.0f * 4, 9.0f * 4, 11.0f * 4));
            handIcon = iconsTileSet.ExtractImage(new RectangleF(19.0f * 4, 55.0f * 4, 17.0f * 4, 18.0f * 4));

            videoTexture = graphics.CreateVideoTexture(new Size(256, 256));
            for (int y = 0; y < 4; ++y)
            {
                for (int x = 0; x < 4; ++x)
                {
                    playerVideoFrames[y * 4 + x] = videoTexture.ExtractImage(new RectangleF(x * 64.0f, y * 64.0f, 64.0f, 64.0f));
                }
            }
        }
Exemple #4
0
 /// <summary>Reloads all graphics resource.</summary>
 /// <remarks>Called for instance after a game box has just been loaded.</remarks>
 public override void ResetGraphicsElements(IGraphics graphics, ITileSet iconsTileSet)
 {
     //rotationMarkImage = iconsTileSet.ExtractImage(new RectangleF(13.0f * 4, 0.0f * 4, 16.0f * 4, 21.0f * 4));
     frameImageElements = new IImage[9] {
         iconsTileSet.ExtractImage(new RectangleF(231.0f * 4, 172.0f * 4, 11.0f * 4, 10.0f * 4)),
         iconsTileSet.ExtractImage(new RectangleF(241.0f * 4, 172.0f * 4, 1.0f * 4, 10.0f * 4)),
         iconsTileSet.ExtractImage(new RectangleF(242.0f * 4, 172.0f * 4, 11.0f * 4, 10.0f * 4)),
         iconsTileSet.ExtractImage(new RectangleF(231.0f * 4, 182.0f * 4, 11.0f * 4, 38.0f * 4)),
         iconsTileSet.ExtractImage(new RectangleF(241.0f * 4, 182.0f * 4, 1.0f * 4, 38.0f * 4)),
         iconsTileSet.ExtractImage(new RectangleF(242.0f * 4, 182.0f * 4, 11.0f * 4, 38.0f * 4)),
         iconsTileSet.ExtractImage(new RectangleF(231.0f * 4, 220.0f * 4, 11.0f * 4, 10.0f * 4)),
         iconsTileSet.ExtractImage(new RectangleF(241.0f * 4, 220.0f * 4, 1.0f * 4, 10.0f * 4)),
         iconsTileSet.ExtractImage(new RectangleF(242.0f * 4, 220.0f * 4, 11.0f * 4, 10.0f * 4))
     };
     closeIcon   = iconsTileSet.ExtractImage(new RectangleF(231.0f * 4, 2.0f * 4, 13.0f * 4, 12.0f * 4));
     recycleIcon = iconsTileSet.ExtractImage(new RectangleF(231.0f * 4, 15.0f * 4, 13.0f * 4, 12.0f * 4));
     shuffleIcon = iconsTileSet.ExtractImage(new RectangleF(233.0f * 4, 28.0f * 4, 16.0f * 4, 13.0f * 4));
     invertIcon  = iconsTileSet.ExtractImage(new RectangleF(209.0f * 4, 16.0f * 4, 11.0f * 4, 12.0f * 4));
 }
Exemple #5
0
        /// <summary>Reloads all graphics resource.</summary>
        /// <remarks>Called for instance after a game box has just been loaded.</remarks>
        public override void ResetGraphicsElements(IGraphics graphics, ITileSet iconsTileSet)
        {
            // recalculate area dimensions
            OnGameDisplayAreaResized();

            if (model.CurrentGameBox.Reference == model.GameLibrary.DefaultGameBox)
            {
                // load ZunTzu logo 3D model
                IFile diceTextureFile = FileSystem.FileSystem.GetResource("ZunTzu.ResourceFiles.ZunTzuDiceTexture.png");
                logoMesh = graphics.LoadDieMesh(Dice.D6ComplexModel.Vertice, Dice.D6ComplexModel.Triangles, Dice.D6ComplexModel.Inradius, diceTextureFile, false);
            }
            else
            {
                logoMesh = null;

                // load 3D models of dice
                DiceHand[] diceHands = model.CurrentGameBox.CurrentGame.DiceHands;
                for (int i = 0; i < diceHands.Length; ++i)
                {
                    DiceType diceType = diceHands[i].DiceType;
                    Die[]    dice     = diceHands[i].Dice;

                    for (int j = 0; j < dice.Length; ++j)
                    {
                        string textureFileName = dice[j].TextureFileName;

                        // have we loaded a model for this die already?
                        for (int k = 0; k <= i; ++k)
                        {
                            if (diceHands[k].DiceType == diceType)
                            {
                                Die[] diceAlreadyLoaded = diceHands[k].Dice;
                                for (int l = 0; l < (k < i ? diceAlreadyLoaded.Length : j); ++l)
                                {
                                    if (diceAlreadyLoaded[l].TextureFileName == textureFileName)
                                    {
                                        // already loaded --> reuse mesh
                                        dice[j].DieMesh = diceAlreadyLoaded[l].DieMesh;
                                        goto nextDie;
                                    }
                                }
                            }
                        }
                        // not loaded yet --> create new mesh
                        IFile diceTextureFile = null;
                        bool  custom          = (dice[j].TextureFileName != null);
                        if (custom)
                        {
                            IArchive archive = new Archive(model.CurrentGameBox.Reference.FileName);
                            diceTextureFile = archive.GetFile(dice[j].TextureFileName);
                        }
                        switch (diceType)
                        {
                        case DiceType.D4:
                            if (!custom)
                            {
                                diceTextureFile = FileSystem.FileSystem.GetResource("ZunTzu.ResourceFiles.D4Texture.png");
                            }
                            dice[j].DieMesh = (view.DisplayProperties.DiceModelsDetailLevel == ModelDetailType.Complex ?
                                               graphics.LoadDieMesh(Dice.D4ComplexModel.Vertice, Dice.D4ComplexModel.Triangles, Dice.D4ComplexModel.Inradius, diceTextureFile, custom) :
                                               graphics.LoadDieMesh(Dice.D4SimpleModel.Vertice, Dice.D4SimpleModel.Triangles, Dice.D4SimpleModel.Inradius, diceTextureFile, custom));
                            break;

                        case DiceType.D6:
                            if (!custom)
                            {
                                diceTextureFile = FileSystem.FileSystem.GetResource("ZunTzu.ResourceFiles.D6Texture.png");
                            }
                            dice[j].DieMesh = (view.DisplayProperties.DiceModelsDetailLevel == ModelDetailType.Complex ?
                                               graphics.LoadDieMesh(Dice.D6ComplexModel.Vertice, Dice.D6ComplexModel.Triangles, Dice.D6ComplexModel.Inradius, diceTextureFile, custom) :
                                               graphics.LoadDieMesh(Dice.D6SimpleModel.Vertice, Dice.D6SimpleModel.Triangles, Dice.D6SimpleModel.Inradius, diceTextureFile, custom));
                            break;

                        case DiceType.D8:
                            if (!custom)
                            {
                                diceTextureFile = FileSystem.FileSystem.GetResource("ZunTzu.ResourceFiles.D8Texture.png");
                            }
                            dice[j].DieMesh = (view.DisplayProperties.DiceModelsDetailLevel == ModelDetailType.Complex ?
                                               graphics.LoadDieMesh(Dice.D8ComplexModel.Vertice, Dice.D8ComplexModel.Triangles, Dice.D8ComplexModel.Inradius, diceTextureFile, custom) :
                                               graphics.LoadDieMesh(Dice.D8SimpleModel.Vertice, Dice.D8SimpleModel.Triangles, Dice.D8SimpleModel.Inradius, diceTextureFile, custom));
                            break;

                        case DiceType.D10:
                            if (!custom)
                            {
                                diceTextureFile = FileSystem.FileSystem.GetResource("ZunTzu.ResourceFiles.D10Texture.png");
                            }
                            dice[j].DieMesh = (view.DisplayProperties.DiceModelsDetailLevel == ModelDetailType.Complex ?
                                               graphics.LoadDieMesh(Dice.D10ComplexModel.Vertice, Dice.D10ComplexModel.Triangles, Dice.D10ComplexModel.Inradius, diceTextureFile, custom) :
                                               graphics.LoadDieMesh(Dice.D10SimpleModel.Vertice, Dice.D10SimpleModel.Triangles, Dice.D10SimpleModel.Inradius, diceTextureFile, custom));
                            break;

                        case DiceType.D12:
                            if (!custom)
                            {
                                diceTextureFile = FileSystem.FileSystem.GetResource("ZunTzu.ResourceFiles.D12Texture.png");
                            }
                            dice[j].DieMesh = (view.DisplayProperties.DiceModelsDetailLevel == ModelDetailType.Complex ?
                                               graphics.LoadDieMesh(Dice.D12ComplexModel.Vertice, Dice.D12ComplexModel.Triangles, Dice.D12ComplexModel.Inradius, diceTextureFile, custom) :
                                               graphics.LoadDieMesh(Dice.D12SimpleModel.Vertice, Dice.D12SimpleModel.Triangles, Dice.D12SimpleModel.Inradius, diceTextureFile, custom));
                            break;

                        case DiceType.D20:
                            if (!custom)
                            {
                                diceTextureFile = FileSystem.FileSystem.GetResource("ZunTzu.ResourceFiles.D20Texture.png");
                            }
                            dice[j].DieMesh = (view.DisplayProperties.DiceModelsDetailLevel == ModelDetailType.Complex ?
                                               graphics.LoadDieMesh(Dice.D20ComplexModel.Vertice, Dice.D20ComplexModel.Triangles, Dice.D20ComplexModel.Inradius, diceTextureFile, custom) :
                                               graphics.LoadDieMesh(Dice.D20SimpleModel.Vertice, Dice.D20SimpleModel.Triangles, Dice.D20SimpleModel.Inradius, diceTextureFile, custom));
                            break;
                        }

nextDie:
                        ;
                    }
                }

                // initialize orientation of each die (if first time)
                for (int i = 0; i < diceHands.Length; ++i)
                {
                    DiceType diceType = diceHands[i].DiceType;
                    for (int j = 0; j < diceHands[i].Dice.Length; ++j)
                    {
                        if (diceHands[i].Dice[j].Orientation == null)
                        {
                            diceHands[i].Dice[j].Orientation = faceOrientations[(int)diceType][faceOrientations[(int)diceType].Length - 1];
                        }
                    }
                }

                frameImageElements = new IImage[9] {
                    iconsTileSet.ExtractImage(new RectangleF(231.0f * 4, 172.0f * 4, 11.0f * 4, 10.0f * 4)),
                    iconsTileSet.ExtractImage(new RectangleF(241.0f * 4, 172.0f * 4, 1.0f * 4, 10.0f * 4)),
                    iconsTileSet.ExtractImage(new RectangleF(242.0f * 4, 172.0f * 4, 11.0f * 4, 10.0f * 4)),
                    iconsTileSet.ExtractImage(new RectangleF(231.0f * 4, 182.0f * 4, 11.0f * 4, 38.0f * 4)),
                    iconsTileSet.ExtractImage(new RectangleF(241.0f * 4, 182.0f * 4, 1.0f * 4, 38.0f * 4)),
                    iconsTileSet.ExtractImage(new RectangleF(242.0f * 4, 182.0f * 4, 11.0f * 4, 38.0f * 4)),
                    iconsTileSet.ExtractImage(new RectangleF(231.0f * 4, 220.0f * 4, 11.0f * 4, 10.0f * 4)),
                    iconsTileSet.ExtractImage(new RectangleF(241.0f * 4, 220.0f * 4, 1.0f * 4, 10.0f * 4)),
                    iconsTileSet.ExtractImage(new RectangleF(242.0f * 4, 220.0f * 4, 11.0f * 4, 10.0f * 4))
                };
            }
        }
Exemple #6
0
 /// <summary>Reloads all graphics resource.</summary>
 /// <remarks>Called for instance after a game box has just been loaded.</remarks>
 public override void ResetGraphicsElements(IGraphics graphics, ITileSet iconsTileSet)
 {
     tabsImageElements = new IImage[10] {
         iconsTileSet.ExtractImage(new RectangleF(74.0f * 4, 1.0f * 4, 16.0f * 4, 26.0f * 4)),
         iconsTileSet.ExtractImage(new RectangleF(90.0f * 4, 1.0f * 4, 1.0f * 4, 26.0f * 4)),
         iconsTileSet.ExtractImage(new RectangleF(95.0f * 4, 1.0f * 4, 16.0f * 4, 26.0f * 4)),
         iconsTileSet.ExtractImage(new RectangleF(111.0f * 4, 1.0f * 4, 16.0f * 4, 26.0f * 4)),
         iconsTileSet.ExtractImage(new RectangleF(128.0f * 4, 1.0f * 4, 1.0f * 4, 26.0f * 4)),
         iconsTileSet.ExtractImage(new RectangleF(132.0f * 4, 1.0f * 4, 16.0f * 4, 26.0f * 4)),
         iconsTileSet.ExtractImage(new RectangleF(150.0f * 4, 1.0f * 4, 16.0f * 4, 26.0f * 4)),
         iconsTileSet.ExtractImage(new RectangleF(204.0f * 4, 1.0f * 4, 1.0f * 4, 26.0f * 4)),
         iconsTileSet.ExtractImage(new RectangleF(166.0f * 4, 1.0f * 4, 16.0f * 4, 26.0f * 4)),
         iconsTileSet.ExtractImage(new RectangleF(187.0f * 4, 1.0f * 4, 16.0f * 4, 26.0f * 4))
     };
     terrainModeIcon      = iconsTileSet.ExtractImage(new RectangleF(38.0f * 4, 55.0f * 4, 27.0f * 4, 19.0f * 4));
     handIcon             = iconsTileSet.ExtractImage(new RectangleF(19.0f * 4, 55.0f * 4, 17.0f * 4, 18.0f * 4));
     undoIcon             = iconsTileSet.ExtractImage(new RectangleF(1.0f * 4, 60.0f * 4, 16.0f * 4, 16.0f * 4));
     redoIcon             = iconsTileSet.ExtractImage(new RectangleF(2.0f * 4, 77.0f * 4, 16.0f * 4, 16.0f * 4));
     stackingEnabledIcon  = iconsTileSet.ExtractImage(new RectangleF(232.0f * 4, 42.0f * 4, 21.0f * 4, 18.0f * 4));
     stackingDisabledIcon = iconsTileSet.ExtractImage(new RectangleF(232.0f * 4, 61.0f * 4, 21.0f * 4, 18.0f * 4));
     hideRevealIcon       = iconsTileSet.ExtractImage(new RectangleF(232.0f * 4, 152.0f * 4, 21.0f * 4, 17.0f * 4));
     hiddenIcon           = iconsTileSet.ExtractImage(new RectangleF(232.0f * 4, 80.0f * 4, 17.0f * 4, 11.0f * 4));
     tabScrollers         = new IImage[4] {
         iconsTileSet.ExtractImage(new RectangleF(215.0f * 4, 30.0f * 4, 15.0f * 4, 15.0f * 4)),
         iconsTileSet.ExtractImage(new RectangleF(215.0f * 4, 46.0f * 4, 15.0f * 4, 15.0f * 4)),
         iconsTileSet.ExtractImage(new RectangleF(215.0f * 4, 62.0f * 4, 15.0f * 4, 15.0f * 4)),
         iconsTileSet.ExtractImage(new RectangleF(215.0f * 4, 78.0f * 4, 15.0f * 4, 15.0f * 4))
     };
 }