Esempio n. 1
0
    // I am being lazy and making the return a string.
    public string SetWeapon <W>() where W : AbstractWeapon
    {
        // Store what weapon WAS equipped.
        string ret = "null";

        System.Type t;
        if (weapon != null)
        {
            t = weapon.GetType();
            if (t == typeof(DaggerWeapon))
            {
                ret = "dagger";
            }
            else if (t == typeof(LongswordWeapon))
            {
                ret = "longsword";
            }
            else if (t == typeof(GunWeapon))
            {
                ret = "gun";
            }
        }

        // We don't need this weapon anymore.
        Destroy(weapon);
        weapon = gameObject.AddComponent <W>() as AbstractWeapon;

        // I am being lazy and making the return a string.

        t = weapon.GetType();
        if (t == typeof(DaggerWeapon))
        {
            weaponSprite.SendMessage("EquipWeapon", "dagger");
        }
        else if (t == typeof(LongswordWeapon))
        {
            weaponSprite.SendMessage("EquipWeapon", "longsword");
        }
        else if (t == typeof(GunWeapon))
        {
            weaponSprite.SendMessage("EquipWeapon", "gun");
        }

        return(ret);
    }
Esempio n. 2
0
 public override bool Equals(AbstractWeapon other)
 {
     if (this._name.Equals(other.Name) && other.GetType() == this.GetType())
     {
         return true;
     }
     else
     {
         return false;
     }
 }