internal void Initialize(IAssetDispenser assetDispenser, ICommandSource commandSource,
                          IScreenBoundsSchecker bounds, ISessionEventsListener eventListener)
 {
     this.commandSource = commandSource;
     this.eventListener = eventListener;
     gun.Initialize(assetDispenser, bounds, eventListener);
     this.visualsRequest.RequestLoad(assetDispenser);
 }
    public void Initialize(IAssetDispenser assetDispenser, IScreenBoundsSchecker bounds,
                           ISessionEventsListener eventListener)
    {
        launchPoint = GetComponent <Transform>();

        firingQueue = new Queue <InputCommand>(Settings.FiringQueueLimit);

        this.assetDispenser = assetDispenser;
        boundsChecker       = bounds;
        this.eventListener  = eventListener;
    }
 private void OnDestroy()
 {
     BoundsBroken  = null;
     boundsChecker = null;
 }
 public void SetBounds(IScreenBoundsSchecker boundsChecker)
 {
     this.boundsChecker = boundsChecker;
 }