コード例 #1
0
 private void WriteSelectedWeapon()
 {
     if (!m_suppressWritingSelectedWeapon)
     {
         TheEditor.SetGlobal(GlobalVariable.PlayerWeapon, (int)(Weapon ?? Types.Weapon.Fists));
     }
 }
コード例 #2
0
        public void SetSpawnPointInterior()
        {
            if (m_isUpdatingSpawnInterior)
            {
                return;
            }

            switch (SpawnInterior)
            {
            case SafeHouse.Portland:
                TheEditor.SetGlobal(GlobalVariable.CurrentInterior, (int)SafeHouse.Portland);
                SpawnPoint   = PortlandSpawnPoint;
                SpawnHeading = 180;
                break;

            case SafeHouse.Staunton:
                TheEditor.SetGlobal(GlobalVariable.CurrentInterior, (int)SafeHouse.Staunton);
                SpawnPoint   = StauntonSpawnPoint;
                SpawnHeading = 180;
                break;

            case SafeHouse.Shoreside:
                TheEditor.SetGlobal(GlobalVariable.CurrentInterior, (int)SafeHouse.Shoreside);
                SpawnPoint   = ShoresideSpawnPoint;
                SpawnHeading = 180;
                break;
            }
        }
コード例 #3
0
 public void UpdateFloatValue()
 {
     if (SelectedItem != null)
     {
         float oldVal = TheEditor.GetGlobalAsFloat(SelectedItem.Index);
         float newVal = SelectedItem.FloatValue;
         if (oldVal != newVal)
         {
             TheEditor.SetGlobal(SelectedItem.Index, newVal);
         }
     }
 }
コード例 #4
0
 public void UpdateIntValue()
 {
     if (SelectedItem != null)
     {
         int oldVal = TheEditor.GetGlobal(SelectedItem.Index);
         int newVal = SelectedItem.IntValue;
         if (oldVal != newVal)
         {
             TheEditor.SetGlobal(SelectedItem.Index, newVal);
         }
     }
 }
コード例 #5
0
        public void WriteSlot(int index)
        {
            IReadOnlyList <Weapon> slotWeapons;
            Weapon?weapon;
            int    ammo;

            if (m_isReadingWeaponSlot || m_isWritingWeaponSlot)
            {
                return;
            }

            m_isWritingWeaponSlot = true;

            if (index == 0)
            {
                TheEditor.SetGlobal(WeaponVars[Types.Weapon.BrassKnuckles], (Slot0Weapon == Types.Weapon.BrassKnuckles) ? 1 : 0);
                goto Cleanup;
            }

            switch (index)
            {
            case 1: slotWeapons = Slot1Weapons; weapon = Slot1Weapon; ammo = Slot1Ammo; break;

            case 2: slotWeapons = Slot2Weapons; weapon = Slot2Weapon; ammo = Slot2Ammo; break;

            case 3: slotWeapons = Slot3Weapons; weapon = Slot3Weapon; ammo = Slot3Ammo; break;

            case 4: slotWeapons = Slot4Weapons; weapon = Slot4Weapon; ammo = Slot4Ammo; break;

            case 5: slotWeapons = Slot5Weapons; weapon = Slot5Weapon; ammo = Slot5Ammo; break;

            case 6: slotWeapons = Slot6Weapons; weapon = Slot6Weapon; ammo = Slot6Ammo; break;

            case 7: slotWeapons = Slot7Weapons; weapon = Slot7Weapon; ammo = Slot7Ammo; break;

            case 8: slotWeapons = Slot8Weapons; weapon = Slot8Weapon; ammo = Slot8Ammo; break;

            case 9: slotWeapons = Slot9Weapons; weapon = Slot9Weapon; ammo = Slot9Ammo; break;

            default: throw new InvalidOperationException($"Bad weapon slot number: {index}");
            }

            foreach (Weapon w in slotWeapons)
            {
                TheEditor.SetGlobal(WeaponVars[w], (w == weapon) ? ammo : 0);
            }

            switch (index)
            {
            case 1: Slot1Weapon = weapon; break;

            case 2: Slot2Weapon = weapon; break;

            case 3: Slot3Weapon = weapon; break;

            case 4: Slot4Weapon = weapon; break;

            case 5: Slot5Weapon = weapon; break;

            case 6: Slot6Weapon = weapon; break;

            case 7: Slot7Weapon = weapon; break;

            case 8: Slot8Weapon = weapon; break;

            case 9: Slot9Weapon = weapon; break;
            }

Cleanup:
            UpdateInventory();
            m_isWritingWeaponSlot = false;
        }