public CompassPanel(Transform firstPersonTransform) : base(firstPersonTransform, "CMP", "zcm_.map") { if (ReferenceImage == null) { return; } // The compass is a bit special since it smoothly scrolls, so we just load the entire frame instead of the actual sprite. CacheManager cacheManager = CacheManager.Instance; Texture2D bearingsTexture = cacheManager.GetTexture("zcme"); if (bearingsTexture == null) { Debug.LogError("Failed to load compass texture."); return; } _textureWidth = bearingsTexture.width; _bearingsPixels = bearingsTexture.GetPixels(); _compassSprite = SpriteManager.GetSprite("zcme.map", "left", 0, 0, false); _overlapWrapValue = _textureWidth - _compassSprite.Width - TextureOverlapFix; _degreesPerPixel = 360f / _overlapWrapValue; UpdateCompassHeading(0f); }
public WeaponsPanel(Transform firstPersonTransform) : base(firstPersonTransform, "WEP", "zbk_.map") { if (ReferenceImage == null) { return; } _separatorSprite = SpriteManager.GetSprite("zbar_.map", "sepbar"); }
public void SetSpecialHealthGroup(int specialIndex, int healthGroup) { I76Sprite sprite = SpriteManager.GetDiodeSprite(healthGroup); if (sprite != null) { string spriteId = "sp_diode_" + (specialIndex + 1); ReferenceImage.ApplySprite(spriteId, sprite, true); } }
public void SetWeaponHealthGroup(int weaponIndex, int healthGroup) { I76Sprite sprite = SpriteManager.GetDiodeSprite(healthGroup); if (sprite != null) { string spriteId = "diode_" + (weaponIndex + 1); ReferenceImage.ApplySprite(spriteId, sprite, true); } }
public bool TryGetSpecialSprites(SpecialType special, out I76Sprite onSprite, out I76Sprite offSprite) { string spriteName; switch (special) { case SpecialType.RadarJammer: spriteName = "radar"; break; case SpecialType.NitrousOxide: spriteName = "nitrous"; break; case SpecialType.Blower: spriteName = "blower"; break; case SpecialType.XAustBrake: spriteName = "xaust"; break; case SpecialType.StructoBumper: spriteName = "structo"; break; case SpecialType.CurbFeelers: spriteName = "curb"; break; case SpecialType.MudFlaps: spriteName = "mud"; break; case SpecialType.HeatedSeats: spriteName = "heated"; break; case SpecialType.CupHolders: spriteName = "cuphdlr"; break; default: Debug.LogWarningFormat("GetSpecialSprite was given an unexpected entry - {0}.", special.ToString()); onSprite = null; offSprite = null; return(false); } onSprite = SpriteManager.GetSprite("zdse.map", spriteName + "_on"); offSprite = SpriteManager.GetSprite("zdse.map", spriteName + "_off"); return(onSprite != null && offSprite != null); }
public void SetWeaponCount(int weaponCount) { for (int i = 0; i < weaponCount; ++i) { int iPlus1 = i + 1; I76Sprite sprite = SpriteManager.GetSprite("zwpe.map", "housing" + iPlus1); ReferenceImage.ApplySprite("bracket_" + iPlus1, sprite, false); } ReferenceImage.UploadToGpu(); }
public GearPanel(Transform firstPersonTransform) : base(firstPersonTransform, "GER", "zgear101.map") { if (ReferenceImage == null) { return; } _arrowSprite = SpriteManager.GetSprite("zgeare.map", "arrow"); _backgroundSprite = SpriteManager.GetSprite("zgear2e.map", "prndback"); ActiveGear = 'D'; }
public SpecialsPanel(Transform firstPersonTransform) : base(firstPersonTransform, "SPC", "zbks_.map") { if (ReferenceImage == null) { return; } for (int i = 0; i < SpecialsController.MaxSpecials; ++i) { int iPlus1 = i + 1; string spriteName = "sp_bracket_" + iPlus1; I76Sprite housingSprite = SpriteManager.GetSprite("zwpe.map", "housing" + iPlus1); ReferenceImage.ApplySprite(spriteName, housingSprite, false); } ReferenceImage.UploadToGpu(); }
public void UpdateActiveWeaponGroup(int weaponGroup, Weapon[] weapons) { for (int i = 0; i < weapons.Length; ++i) { string referenceName = "dymo_" + (i + 1); bool sameGroup = weapons[i].WeaponGroupOffset == weaponGroup; I76Sprite sprite = sameGroup ? weapons[i].OnSprite : weapons[i].OffSprite; ReferenceImage.ApplySprite(referenceName, sprite, false); if (SeparatorIndex == i) { ReferenceImage.ApplySprite("separator_" + (i + 1), _separatorSprite, false); } } ReferenceImage.UploadToGpu(); }
public void SetSpecialAmmoCount(int specialIndex, int ammoCount) { string numberString = string.Format("{0:000}", ammoCount); char digit1 = numberString[0]; char digit2 = numberString[1]; char digit3 = numberString[2]; I76Sprite digitSprite1 = SpriteManager.GetNumberSprite(digit1); I76Sprite digitSprite2 = SpriteManager.GetNumberSprite(digit2); I76Sprite digitSprite3 = SpriteManager.GetNumberSprite(digit3); string spriteIdSuffix = (specialIndex + 1).ToString(); ReferenceImage.ApplySprite("sp_num_hunds_" + spriteIdSuffix, digitSprite1, false); ReferenceImage.ApplySprite("sp_num_tens_" + spriteIdSuffix, digitSprite2, false); ReferenceImage.ApplySprite("sp_num_ones_" + spriteIdSuffix, digitSprite3, false); ReferenceImage.UploadToGpu(); }
public RadarPanel(Car car, Transform firstPersonTransform) : base(firstPersonTransform, "RAD", "zrad.map") { if (ReferenceImage == null) { return; } _blipPixels = new Color32[4]; for (int i = 0; i < 4; ++i) { _blipPixels[i] = Color.yellow; } _longRange = true; _car = car; _radarContacts = new Dictionary <Car, RadarContact>(); _radarAudio = _car.gameObject.AddComponent <AudioSource>(); _radarAudio.playOnAwake = false; _radarAudio.volume = 0.2f; CacheManager cacheManager = CacheManager.Instance; _newContact = cacheManager.GetAudioClip("cgrowl.gpw"); _sweepContact = cacheManager.GetAudioClip("cradar.gpw"); _rangeSprites = new I76Sprite[3]; for (int i = 0; i < 3; ++i) { _rangeSprites[i] = SpriteManager.GetSprite("zrge.map", "range_" + (i + 1)); } _ledSprites = new I76Sprite[2]; for (int i = 0; i < 2; ++i) { _ledSprites[i] = SpriteManager.GetSprite("ztge.map", "radled_" + (i + 1)); } _sweepSprites = new I76Sprite[SpriteFrames]; _targetSprites = new I76Sprite[SpriteFrames]; for (int i = 0; i < SpriteFrames; ++i) { string numberString = string.Format("{0:00}", i); Texture2D sweepTexture = cacheManager.GetTexture("zradf0" + numberString); Texture2D targetTexture = cacheManager.GetTexture("zradb0" + numberString); I76Sprite sweepSprite = new I76Sprite { Width = sweepTexture.width, Height = sweepTexture.height, Pixels = sweepTexture.GetPixels32() }; I76Sprite targetSprite = new I76Sprite { Width = targetTexture.width, Height = targetTexture.height, Pixels = targetTexture.GetPixels32() }; _sweepSprites[i] = sweepSprite; _targetSprites[i] = targetSprite; } }
public void SetSystemHealthGroup(SystemType systemType, int healthGroup, bool uploadToGpu) { string spriteName; string referenceName = null; string healthSuffix; switch (healthGroup) { case 0: healthSuffix = "_off"; break; case 1: healthSuffix = "_grn"; break; case 2: healthSuffix = "_ylw"; break; case 3: healthSuffix = "_red"; break; case 4: healthSuffix = "_drk"; break; default: Debug.LogWarning("Health group out of range in SystemsPanel."); return; } switch (systemType) { case SystemType.Brakes: spriteName = "brakes"; break; case SystemType.Engine: spriteName = "engine"; break; case SystemType.Suspension: spriteName = "suspen"; break; case SystemType.FrontArmor: spriteName = "farm"; break; case SystemType.LeftArmor: spriteName = "larm"; break; case SystemType.RightArmor: spriteName = "rarm"; break; case SystemType.BackArmor: spriteName = "barm"; break; case SystemType.FrontChassis: spriteName = "fchas"; break; case SystemType.LeftChassis: spriteName = "lchas"; break; case SystemType.RightChassis: spriteName = "rchas"; break; case SystemType.BackChassis: spriteName = "bchas"; break; case SystemType.TireFL: spriteName = "tire"; referenceName = "fltire"; break; case SystemType.TireFR: spriteName = "tire"; referenceName = "frtire"; break; case SystemType.TireBL: spriteName = "tire"; referenceName = "rltire"; break; case SystemType.TireBR: spriteName = "tire"; referenceName = "rrtire"; break; default: Debug.LogWarning("Unknown systemType in SystemsPanel. - " + systemType); return; } if (referenceName == null) { referenceName = spriteName; } I76Sprite sprite = SpriteManager.GetSprite("zsye.map", spriteName + healthSuffix); if (sprite != null) { ReferenceImage.ApplySprite(referenceName, sprite, uploadToGpu); } }
public bool TryGetWeaponSprites(Gdf weaponGdf, out I76Sprite onSprite, out I76Sprite offSprite) { string spriteName; switch (weaponGdf.Name) { case "30cal MG": spriteName = "30cal_mg"; break; case "50cal MG": spriteName = "50cal_mg"; break; case "20mm Cannnon": spriteName = "20mm_can"; break; case "25mm Cannon": spriteName = "25mm_can"; break; case "30mm Cannon": spriteName = "30mm_can"; break; case "Oil Slick": spriteName = "oilslick"; break; case "FireRite Rkt": spriteName = "fr_rocket"; break; case "Landmines": spriteName = "landmines"; break; case "Fire-Dropper": spriteName = "firedropper"; break; case "Gas Launcher": spriteName = "gaslaunchr"; break; case "7.62mm MG": spriteName = "762_mg"; break; default: Debug.LogWarningFormat("GetWeaponSprite for weapon '{0}' not implemented.", weaponGdf.Name); onSprite = null; offSprite = null; return(false); } onSprite = SpriteManager.GetSprite("zdue.map", spriteName + "_on"); offSprite = SpriteManager.GetSprite("zdue.map", spriteName + "_off"); return(onSprite != null && offSprite != null); }