예제 #1
0
    public bool SetPart(WeaponPart newPart)
    {
        if (newPart != null && newPart.partType != slotType)
        {
            return(false);
        }


        if (part != null)
        {
            part.Unload();
        }

        part = newPart;

        if (part != null)
        {
            part.Load(transform);
        }

        if (SceneManager.GetActiveScene().name == "WeaponCustomization")
        {
            UiWeaponStats.UpdateStats();
        }

        return(true);
    }
예제 #2
0
    public void Delete()
    {
        if (playerData.WeaponCount() <= 1)
        {
            return;
        }

        playerData.ClearSlot(weapon.bodySlot, false);

        playerData.RemoveWeapon(selectedWeapon);
        Destroy(weaponPanels[selectedWeapon]);
        weaponPanels.RemoveAt(selectedWeapon);

        if (selectedWeapon >= playerData.WeaponCount())
        {
            SetSelected(playerData.WeaponCount() - 1, false);
        }
        else
        {
            SetSelected(selectedWeapon, false);
        }

        uiWeaponPartList.UpdatePanels();

        UiWeaponStats.UpdateStats();
    }
예제 #3
0
    public void New()
    {
        Save();

        var wd = playerData.GetWeaponData(weapon);

        wd.rootPart.partShortCode = "";
        wd.weaponName             = "New weapon";
        AddNew(wd);

        Save();

        UiWeaponStats.UpdateStats();
    }
예제 #4
0
    void Load()
    {
        weapon.bodySlot.SetPart(null);

        playerData.LoadWeapon(selectedWeapon, weapon);
        weaponNameInput.text = weapon.weaponName;

        UiWeaponPartSlotPanel uiSlot = weapon.bodySlot.GetComponentInChildren <UiWeaponPartSlotPanel>();

        if (uiSlot != null)
        {
            uiSlot.SetObject(weapon.bodySlot.part);
        }

        UiWeaponStats.UpdateStats();
    }
예제 #5
0
 private void Awake()
 {
     instance = this;
 }