protected override void configure() { // call parent configure() method base.configure(); // overwrite any configs as necessary missileModel = (Model)(-1479625776); // SAM missile //clusterMissileModel = (Model)737852268; // green missile clusterMissileModel = (Model)(-1146260322); // homing missile attachCamera = true; explosionType = ExplosionType.Plane; invertThrust = true; timeout = 15000; explosionDamageScale = 2.0f; clusterBombsReady = false; // initially, do not allow use of cluster bombs // load particle FX particleFxAsset = new ParticleEffectAsset("scr_agencyheistb"); particleFxAsset.Request(); particleFxOffset = new Vector3(0f, 2.925f, 0f); particleFxName = "scr_agency3b_proj_rpg_trail"; // load targeting resources targetingSys = new TargetingSystem(Game.Player.Character); pedMarkerSprite = new Sprite(targetingTextureDict, targetingAssetname, DrawingHelper.defaultSizeF, new PointF(0f, 0f), DrawingHelper.defaultColor, 0f, true); }
public void UpdateMenu() { if (MenuPool != null) { MenuPool.RemoveAllMenus(); } MenuPool = new MenuPool(); MainMenu = new UIMenu("Ptfx Menu"); if (updateAvailable) { var item = new UIMenuItem("Update PTFX Database", "Database Update Available"); MainMenu.AddMenuItem(item); MainMenu.OnItemSelect += (sender, selectedItem, index) => { if (selectedItem.Text == "Update PTFX Database") { WriteData(); UpdateMenu(); Notification.Show("PTFX Database Updated"); } }; } MainMenu.OnMenuOpen += sender => { Game.Player.Character.IsVisible = false; }; MenuPool.AddMenu(MainMenu); MainMenu.TitleColor = Color.FromArgb(255, 255, 255, 255); MainMenu.TitleBackgroundColor = Color.FromArgb(240, 0, 0, 0); MainMenu.TitleUnderlineColor = Color.FromArgb(255, 255, 90, 90); MainMenu.DefaultBoxColor = Color.FromArgb(160, 0, 0, 0); MainMenu.DefaultTextColor = Color.FromArgb(230, 255, 255, 255); MainMenu.HighlightedBoxColor = Color.FromArgb(130, 237, 90, 90); MainMenu.HighlightedItemTextColor = Color.FromArgb(255, 255, 255, 255); MainMenu.DescriptionBoxColor = Color.FromArgb(255, 0, 0, 0); MainMenu.DescriptionTextColor = Color.FromArgb(255, 255, 255, 255); MainMenu.SubsectionDefaultBoxColor = Color.FromArgb(160, 0, 0, 0); MainMenu.SubsectionDefaultTextColor = Color.FromArgb(180, 255, 255, 255); MenuPool.SubmenuItemIndication = " ~r~>"; var serializer = new JavaScriptSerializer(); var json = File.ReadAllText(dataPath); dynamic res = serializer.DeserializeObject(json); foreach (var i in res) { var subMenu = new UIMenu(i["DictionaryName"]); var effectNames = ((IEnumerable)i["EffectNames"]).Cast <string>().ToList(); foreach (var e in effectNames) { var item = new UIMenuItem(e, i["DictionaryName"]); subMenu.AddMenuItem(item); subMenu.OnItemSelect += (sender, selectedItem, index) => { World.RemoveAllParticleEffectsInRange(Game.Player.Character.Position, 10); Game.Player.Character.RemoveParticleEffects(); var asset = new ParticleEffectAsset(selectedItem.Description); asset.Request(); while (!asset.IsLoaded) { Wait(0); } var particle = World.CreateParticleEffectNonLooped(asset, selectedItem.Text, Game.Player.Character.Position, default, particlesSize);