public void RestoreState(object state) { string weaponName = (string)state; WeaponConfig weapon = UnityEngine.Resources.Load <WeaponConfig>(weaponName); EquipWeapon(weapon); }
private void Awake() { _currentWeaponConfig = _defaultWeapon; _currentWeapon = new LazyValue <Weapon>(SetupDefaultWeapon); _equipment = GetComponent <Equipment>(); if (_equipment) { _equipment.equipmentUpdated += UpdateWeapon; } }
private Weapon AttachWeapon(WeaponConfig weapon) { Animator anim = GetComponent <Animator>(); return(weapon.Spawn(_rightHandTransform, _leftHandTransform, anim)); }
public void EquipWeapon(WeaponConfig weapon) { _currentWeaponConfig = weapon; _currentWeapon.value = AttachWeapon(weapon); }