Ejemplo n.º 1
0
    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;
            }
        }
    }
Ejemplo n.º 2
0
 void Update()
 {
     if (Input.GetKeyDown(KeyCode.Space))
     {
         CurrentMode = CurrentMode == ImpulseType.Emanating ? ImpulseType.Traversing : ImpulseType.Emanating;
     }
 }
Ejemplo n.º 3
0
 public virtual void Impulse(ImpulseType type)
 {
     if (Debug.isDebugBuild)
     {
         Debug.Log("Impulse received on " + this.gameObject.name + ": " + type.ToString());
     }
 }
Ejemplo n.º 4
0
	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;
			}
		}
	}
Ejemplo n.º 5
0
	public virtual void Impulse(ImpulseType type)
	{
		if(Debug.isDebugBuild) {
			Debug.Log("Impulse received on " + this.gameObject.name + ": " + type.ToString());
		}
	}
Ejemplo n.º 6
0
	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;
		}
	}
Ejemplo n.º 7
0
    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;
        }
    }