コード例 #1
0
    // Start is called before the first frame update
    void Start()
    {
        int i = 0;

        foreach (string value in PlayerPrefs.GetString("playerStats").Split('/'))
        {
            baseStats[i] = new Armour.Stat(baseStats[i].name, int.Parse(value));
            i++;
        }

        updateStats();

        content           = inventoryPanel.transform.Find("Items").transform.Find("Viewport").transform.Find("Content").gameObject;
        weaponName        = inventoryPanel.transform.Find("Display").transform.Find("WeaponName").gameObject;
        weaponCategory    = inventoryPanel.transform.Find("Display").transform.Find("WeaponCategory").gameObject;
        weaponDescription = inventoryPanel.transform.Find("Display").transform.Find("Description").gameObject;
        weaponStats       = inventoryPanel.transform.Find("Display").transform.Find("Stats").gameObject;
        weaponElements    = inventoryPanel.transform.Find("Display").transform.Find("Resistances").gameObject;
        weaponPreview     = inventoryPanel.transform.Find("Display").transform.Find("Preview").gameObject;

        setDefaultWeapon((Weapon)Resources.Load("PlayerObjects/Weapons/Fists"));
        addItem((Weapon)Resources.Load("PlayerObjects/Weapons/RustyDagger"));

        equipWeapon(defaultWeapon);
        fullHeal();
        closeInventory();
    }
コード例 #2
0
    public void unequipCurrent()
    {
        int n = 0;

        foreach (Armour.Stat stat in currentWeapon.stats)
        {
            Armour.Stat statCopy = currentStats[n];
            statCopy.value -= stat.value;
            currentStats[n] = statCopy;
            n++;
        }
    }
コード例 #3
0
ファイル: Enemy.cs プロジェクト: bhuvan21/arx-noctis
    void Start()
    {
        animator = GetComponent <Animator>();

        for (int i = 0; i < resistances.Count; i++)
        {
            Armour.Resistance res    = resistances[i];
            Armour.Resistance newres = new Armour.Resistance();
            newres.name = res.name;
            for (int j = 0; j < currentWeapon.resistances.Count; j++)
            {
                Armour.Resistance resadd = currentWeapon.resistances[j];
                if (resadd.name == res.name)
                {
                    newres.value = resadd.value + res.value;
                }
            }
            resistances[i] = newres;
        }


        for (int i = 0; i < stats.Count; i++)
        {
            Armour.Stat stat    = stats[i];
            Armour.Stat newstat = new Armour.Stat();
            newstat.name = stat.name;
            for (int j = 0; j < currentWeapon.stats.Count; j++)
            {
                Armour.Stat statadd = currentWeapon.stats[j];
                if (statadd.name == stat.name)
                {
                    newstat.value = statadd.value + stat.value;
                }
            }
            stats[i] = newstat;
        }
    }
コード例 #4
0
    public void equipWeapon(Weapon weapon)
    {
        currentWeapon = weapon;
        foreach (Transform child in RHWeaponSlot.transform)
        {
            Destroy(child.gameObject);
        }
        foreach (Transform child in LHWeaponSlot.transform)
        {
            Destroy(child.gameObject);
        }

        int n = 0;

        foreach (Armour.Stat stat in weapon.stats)
        {
            Armour.Stat statCopy = baseStats[n];
            statCopy.value += stat.value;
            currentStats[n] = statCopy;
            n++;
        }
        updateStats();
        if (currentHealth == maxHealth)
        {
            updateStats();
        }

        if (weapon.path != "")
        {
            GameObject myPrefab = Resources.Load(weapon.path, typeof(GameObject)) as GameObject;
            RHWeaponGameobject = Instantiate(myPrefab, new Vector3(0, 0, 0), myPrefab.transform.rotation);
            RHWeaponGameobject.transform.parent        = RHWeaponSlot.transform;
            RHWeaponGameobject.transform.localPosition = new Vector3(0, 0, 0);

            Vector3 newScale = new Vector3(transform.localScale.x, Mathf.Abs(transform.localScale.y), transform.localScale.z);
            RHWeaponGameobject.transform.localScale = Vector3.Scale(Vector3.Scale(RHWeaponGameobject.transform.localScale, newScale), new Vector3(3.3f, 3.3f, 3.3f));

            RHWeaponGameobject.GetComponent <SpriteRenderer>().sortingOrder = 6;
            RHWeaponGameobject.transform.localRotation = Quaternion.Euler(new Vector3(0, 0, 0));
            Debug.Log("WE HERE BRUH");
            Debug.Log(RHWeaponGameobject.transform.rotation.eulerAngles);


            if (weapon.dual)
            {
                LHWeaponGameobject = Instantiate(myPrefab, new Vector3(0, 0, 0), myPrefab.transform.rotation);
                LHWeaponGameobject.transform.parent        = LHWeaponSlot.transform;
                LHWeaponGameobject.transform.localPosition = new Vector3(0, 0, 0);
                newScale = new Vector3(transform.localScale.x, Mathf.Abs(transform.localScale.y), transform.localScale.z);
                LHWeaponGameobject.transform.localScale = Vector3.Scale(Vector3.Scale(LHWeaponGameobject.transform.localScale, newScale), new Vector3(3.3f, 3.3f, 3.3f));
                if (transform.localScale.x < 0)
                {
                    LHWeaponGameobject.transform.localScale = new Vector3(LHWeaponGameobject.transform.localScale.x, LHWeaponGameobject.transform.localScale.y * -1, LHWeaponGameobject.transform.localScale.z);
                }

                LHWeaponGameobject.GetComponent <SpriteRenderer>().sortingOrder = -1;
                LHWeaponGameobject.transform.localRotation = Quaternion.Euler(new Vector3(0, 0, 0));
            }
            Debug.Log(RHWeaponGameobject.transform.rotation.eulerAngles);
            Debug.Log("is!!");
        }
    }