/// <summary> /// trigger when take on equipment /// </summary> public virtual void OnEquip(IEquipmentGear gear) { gameObject.SetActive(true); damager = GetComponent <Damager>(); if (damager != null) { damager.src = gear; } this.gear = gear; onEquip.Invoke(this); }
public void Init(IEquipmentGear gear, IBackpack backpack, IController controller, IDamageable damageable) { if (inited) { return; } this.gear = gear; this.backpack = backpack; this.controller = controller; this.damageable = damageable; Init(); inited = true; }
private void Awake() { if (!inited) { damageable = GetComponent <IDamageable>(); gear = GetComponent <IEquipmentGear>(); backpack = GetComponent <IBackpack>(); controller = GetComponent <BaseController>(); Init(); inited = true; damageable.Init(gear, backpack, controller, damageable); backpack.Init(gear, backpack, controller, damageable); gear.Init(gear, backpack, controller, damageable); controller.Init(gear, backpack, controller, damageable); } }
/// <summary> /// trigger when take off equipment /// </summary> public virtual void OnTakeOff() { onTakeOff.Invoke(this); this.gear = null; gameObject.SetActive(false); }
public void TakeOff(Equipment equipment, IEquipmentGear gear) { }
public void SetUp(IEquipmentGear gear) { m_gear?.RemoveOnEquipListener(Equip); m_gear = gear; gear.AddOnEquipListener(Equip); }