public override void Impulse(ImpulseType type) { if (!m_Weapon) { m_Weapon = GetComponent <Shootable>(); } if (m_Weapon) { Item weapon_item = GetComponent <Item>(); FirstPersonMovementController movement_controller = (weapon_item && weapon_item.Owner ? weapon_item.Owner.GetComponent <FirstPersonMovementController>() : null); Transform camera_anchor = (movement_controller ? movement_controller.CameraAnchor : null); switch (type) { case ImpulseType.ATTACK: m_Weapon.Fire(camera_anchor); break; case ImpulseType.REFRESH: m_Weapon.Reload(); break; default: base.Impulse(type); break; } } }
void Update() { if (Input.GetKeyDown(KeyCode.Space)) { CurrentMode = CurrentMode == ImpulseType.Emanating ? ImpulseType.Traversing : ImpulseType.Emanating; } }
public virtual void Impulse(ImpulseType type) { if (Debug.isDebugBuild) { Debug.Log("Impulse received on " + this.gameObject.name + ": " + type.ToString()); } }
public override void Impulse(ImpulseType type) { if(!m_Weapon) { m_Weapon = GetComponent<Shootable>(); } if(m_Weapon) { Item weapon_item = GetComponent<Item>(); FirstPersonMovementController movement_controller = (weapon_item && weapon_item.Owner ? weapon_item.Owner.GetComponent<FirstPersonMovementController>() : null); Transform camera_anchor = (movement_controller ? movement_controller.CameraAnchor : null); switch(type) { case ImpulseType.ATTACK: m_Weapon.Fire(camera_anchor); break; case ImpulseType.REFRESH: m_Weapon.Reload(); break; default: base.Impulse(type); break; } } }
public virtual void Impulse(ImpulseType type) { if(Debug.isDebugBuild) { Debug.Log("Impulse received on " + this.gameObject.name + ": " + type.ToString()); } }
public override void Impulse(ImpulseType type) { Inventory player_inventory = GetComponent<Inventory>(); Item held_item = (player_inventory ? player_inventory.CurrentEquippedItem : null); Impulser item_impulser = (held_item ? held_item.GetComponent<Impulser>() : null); FirstPersonUser fps_user = GetComponent<FirstPersonUser>(); switch(type) { case ImpulseType.INTERACT: if(fps_user) { fps_user.Interact(); } break; case ImpulseType.SWAP_LAST_USED_ITEM: if(player_inventory) { player_inventory.SwapToLastEquipment(); } break; case ImpulseType.CYCLE_NEXT_ITEM: if(player_inventory) { player_inventory.CycleEquipment(); } break; case ImpulseType.CYCLE_PREV_ITEM: if(player_inventory) { player_inventory.CycleEquipment(-1); } break; case ImpulseType.DROP_ITEM: if(player_inventory) { player_inventory.DropCurrentEquipment(); } break; case ImpulseType.ATTACK: if(item_impulser) { item_impulser.Impulse(type); // XXX: Lol. This is embarrasing. } break; case ImpulseType.ALT_ATTACK: if(item_impulser) { item_impulser.Impulse(type); // XXX: Lol. This is embarrasing. } break; case ImpulseType.REFRESH: if(item_impulser) { item_impulser.Impulse(type); // XXX: Lol. This is embarrasing. } break; default: base.Impulse(type); break; } }
public override void Impulse(ImpulseType type) { Inventory player_inventory = GetComponent <Inventory>(); Item held_item = (player_inventory ? player_inventory.CurrentEquippedItem : null); Impulser item_impulser = (held_item ? held_item.GetComponent <Impulser>() : null); FirstPersonUser fps_user = GetComponent <FirstPersonUser>(); switch (type) { case ImpulseType.INTERACT: if (fps_user) { fps_user.Interact(); } break; case ImpulseType.SWAP_LAST_USED_ITEM: if (player_inventory) { player_inventory.SwapToLastEquipment(); } break; case ImpulseType.CYCLE_NEXT_ITEM: if (player_inventory) { player_inventory.CycleEquipment(); } break; case ImpulseType.CYCLE_PREV_ITEM: if (player_inventory) { player_inventory.CycleEquipment(-1); } break; case ImpulseType.DROP_ITEM: if (player_inventory) { player_inventory.DropCurrentEquipment(); } break; case ImpulseType.ATTACK: if (item_impulser) { item_impulser.Impulse(type); // XXX: Lol. This is embarrasing. } break; case ImpulseType.ALT_ATTACK: if (item_impulser) { item_impulser.Impulse(type); // XXX: Lol. This is embarrasing. } break; case ImpulseType.REFRESH: if (item_impulser) { item_impulser.Impulse(type); // XXX: Lol. This is embarrasing. } break; default: base.Impulse(type); break; } }