예제 #1
0
        public override void Use(Character owner)
        {
            base.Use(owner);
            GameObject prefab = Resources.Load <GameObject>("Prefabs/Item/Weapons/" + WeaponId);

            if (prefab == null)
            {
                throw new UnityException(WeaponId + " Weapon prefab not found!");
            }
            WeaponBase weapon = Instantiate(prefab).GetComponent <WeaponBase>();

            Sdb.WeaponInfo weaponInfo = SdbInstance <Sdb.WeaponInfo> .Get(WeaponId);

            if (WeaponId != "Basic_Weapon")
            {
                switch (weaponInfo.Grade)
                {
                case Constants.WeaponGrade.Low:
                    EffectManager.Instance.Show(EffectType.Item_Low, this.gameObject.transform.position);
                    break;

                case Constants.WeaponGrade.Normal:
                    EffectManager.Instance.Show(EffectType.Item_Normal, this.gameObject.transform.position);
                    break;

                case Constants.WeaponGrade.High:
                    EffectManager.Instance.Show(EffectType.Item_High, this.gameObject.transform.position);
                    break;
                }
            }
            weapon.Init(weaponInfo);
            weapon.SetOwner(owner);
            ActorContainer.Instance.LocalCharacter.EquipWeapon(weapon);
        }
예제 #2
0
 public virtual void Init(Sdb.WeaponInfo weaponInfo)
 {
     this.WeaponInfo = weaponInfo;
     this.Durability = weaponInfo.DurabilityCount;
 }