using System.Collections.Generic;
public void Update(double delta)
_primaryAction?.Update(delta, this);
_secondaryAction?.Update(delta, this);
public void StartPrimaryAction() => _primaryAction?.Start(this);
public void FinishPrimaryAction() => _primaryAction?.Finish(this);
public void StartSecondaryAction() => _secondaryAction?.Start(this);
public void FinishSecondaryAction() => _secondaryAction?.Finish(this);
protected IWeaponAction _primaryAction;
protected IWeaponAction _secondaryAction;
public interface IWeaponAction
void Update(double delta, Weapon weapon);
void Start(Weapon weapon);
void Finish(Weapon weapon);