/// <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)) }; }
/// <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)); }
/// <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)); } } }
/// <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)); }
/// <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)) }; } }
/// <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)) }; }