private void SublimeWeaponComponentMenu(MenuButton buttonSender, WeaponHash weaponHash) { List <IMenuItem> componentButtons = new List <IMenuItem>(); foreach (KeyValuePair <string, string> weaponComponent in weaponComponentItems) { int weaponComponentHash = Function.Call <int>(Hash.GET_HASH_KEY, weaponComponent.Key); bool canWeaponHaveComponent = Function.Call <bool>(Hash._CAN_WEAPON_HAVE_COMPONENT, (int)weaponHash, weaponComponentHash); if (canWeaponHaveComponent) { var componentActivateButton = new MenuButton(weaponComponent.Value); componentActivateButton.Activated += (sender, args) => WeaponFunctions.ChangeWeaponComponent(weaponHash, weaponComponent); componentButtons.Add(componentActivateButton); } } foreach (KeyValuePair <string, int> tintIndex in weaponTintIndexDict) { var tintActivateButton = new MenuButton(tintIndex.Key); tintActivateButton.Activated += (sender, args) => WeaponFunctions.ChangeWeaponTint(weaponHash, tintIndex.Value); componentButtons.Add(tintActivateButton); } WeaponComponentsMenu = new GTA.Menu(buttonSender.Caption, componentButtons.ToArray()); DrawMenu(WeaponComponentsMenu); }
protected void ResetStateTime(GameTime gameTime, BipedWeapon weapon, WeaponFunctions input) { TimeSpan extraTime = TimeSpan.FromTicks(weapon.TimeInState.Ticks - mDurationTicks); weapon.TimeInState = extraTime; weapon.CurrentState.Update(new GameTime(gameTime.TotalGameTime, extraTime, gameTime.IsRunningSlowly), weapon, input); }
public override void Update(GameTime gameTime, BipedWeapon weapon, WeaponFunctions input) { if (weapon.TimeInState.Ticks >= mDurationTicks) { weapon.CurrentState = BashSkill.ReadyState; ResetStateTime(gameTime, weapon, WeaponFunctions.Neutral); } }
public override void Update(GameTime gameTime, BipedWeapon weapon, WeaponFunctions input) { if (input == WeaponFunctions.TriggerPulled) { weapon.Fire(); weapon.CurrentState = BashSkill.SwingingState; } }
public override void Update(GameTime gameTime, BipedWeapon weapon, WeaponFunctions input) { if (weapon.TimeInState.Ticks >= mDurationTicks) { weapon.CurrentState = MachineGunSkill.ReadyState; ResetStateTime(gameTime, weapon, WeaponFunctions.Neutral); } }
private void SublimeWeaponMenu() { List <IMenuItem> weaponMenuItems = new List <IMenuItem>(); var buttonWeaponComponents = new MenuButton("Weapon Components Menu"); buttonWeaponComponents.Activated += (sender, args) => SublimeWeaponSelectionMenu(); weaponMenuItems.Add(buttonWeaponComponents); var buttonGiveAllWeapons = new MenuButton("Give All Weapons"); buttonGiveAllWeapons.Activated += (sender, args) => WeaponFunctions.GiveAllWeapons(); weaponMenuItems.Add(buttonGiveAllWeapons); var toggleInfiniteAmmo = new MenuToggle("Infinite Ammunition", "", WeaponFunctions.HasWeaponInfiniteAmmo); toggleInfiniteAmmo.Changed += (sender, args) => WeaponFunctions.ToggleInfiniteAmmo(); weaponMenuItems.Add(toggleInfiniteAmmo); var toggleFireBullets = new MenuToggle("Fire Bullets", "", WeaponFunctions.HasWeaponFireBullets); toggleFireBullets.Changed += (sender, args) => WeaponFunctions.ToggleFireBullets(); weaponMenuItems.Add(toggleFireBullets); var toggleExplosiveBullets = new MenuToggle("Explosive Bullets", "", WeaponFunctions.HasWeaponExplosiveBullets); toggleExplosiveBullets.Changed += (sender, args) => WeaponFunctions.ToggleExplosiveBullets(); weaponMenuItems.Add(toggleExplosiveBullets); var toggleExplosiveMelee = new MenuToggle("Explosive Melee", "", WeaponFunctions.IsExplosiveMeleeEnabled); toggleExplosiveMelee.Changed += (sender, args) => WeaponFunctions.ToggleExplosiveMelee(); weaponMenuItems.Add(toggleExplosiveMelee); var toggleOneHitKill = new MenuToggle("One-Hit Kill", "", WeaponFunctions.IsOneHitKillEnabled); toggleOneHitKill.Changed += (sender, args) => WeaponFunctions.ToggleOneHitKill(); weaponMenuItems.Add(toggleOneHitKill); var toggleGravityGun = new MenuToggle("Gravity Gun", "", WeaponFunctions.IsGravityGunEnabled); toggleGravityGun.Changed += (sender, args) => WeaponFunctions.ToggleGravityGun(); weaponMenuItems.Add(toggleGravityGun); WeaponMenu = new GTA.Menu("Weapon Options", weaponMenuItems.ToArray()); DrawMenu(WeaponMenu); }
public override void Update(GameTime gameTime, BipedWeapon weapon, WeaponFunctions input) { if (input == WeaponFunctions.TriggerPulled) { Actor owner = GameResources.ActorManager.GetActorById(weapon.OwnerActorId); WeaponResource wr = owner.GetBehavior <WeaponResource>(); if (wr.Value >= weapon.ResourceCostToUse) { weapon.Fire(); weapon.CurrentState = BlasterRifleSkill.FiringState; } else { weapon.DryFire(); weapon.CurrentState = BlasterRifleSkill.DryFireState; } } }
public virtual void Update(GameTime gameTime, BipedWeapon weapon, WeaponFunctions input) { }
public override void Update(GameTime gameTime, BipedWeapon weapon, WeaponFunctions input) { if (input == WeaponFunctions.TriggerPulled) { Actor owner = GameResources.ActorManager.GetActorById(weapon.OwnerActorId); WeaponResource wr = owner.GetBehavior<WeaponResource>(); if (wr.Value >= weapon.ResourceCostToUse) { weapon.Fire(); weapon.CurrentState = MachineGunSkill.FiringState; } else { weapon.DryFire(); weapon.CurrentState = MachineGunSkill.DryFireState; } } }