protected virtual void SetHoldingPlayer([CanBeNull] MechanicBehavior player) { _holdingPlayer = player; if (null != _holdingPlayer) { _holdAttachmentEffectComponent.SpineSkinHelper = _holdingPlayer.Owner.Behavior.SpineSkinHelper; _dropAttachmentEffectComponent.SpineSkinHelper = _holdingPlayer.Owner.Behavior.SpineSkinHelper; if (null != _useRumbleEffectTriggerComponent) { _useRumbleEffectTriggerComponent.PlayerInput = _holdingPlayer.Owner.GamePlayerInput.InputHelper; } } else { _holdAttachmentEffectComponent.SpineSkinHelper = null; _dropAttachmentEffectComponent.SpineSkinHelper = null; if (null != _useRumbleEffectTriggerComponent) { _useRumbleEffectTriggerComponent.PlayerInput = null; } } }
protected override void SetHoldingPlayer([CanBeNull] MechanicBehavior player) { base.SetHoldingPlayer(player); if (null != HoldingPlayer) { _loopingRumbleEffectTriggerComponent.PlayerInput = HoldingPlayer.Owner.GamePlayerInput.InputHelper; } else { _loopingRumbleEffectTriggerComponent.PlayerInput = null; } }
private void SetUsingPlayer(MechanicBehavior player) { _usingPlayer = player; if (null != _usingPlayer) { _loopingRumbleEffectTriggerComponent.PlayerInput = _usingPlayer.Owner.GamePlayerInput.InputHelper; } else { _loopingRumbleEffectTriggerComponent.PlayerInput = null; } }
public bool Hold(MechanicBehavior player) { if (IsHeld) { return(false); } SetHoldingPlayer(player); _holdEffect.Trigger(); return(true); }
public void EndUse() { _holdTimer.Stop(); if (null != _holdRoutine) { StopCoroutine(_holdRoutine); } _holdRoutine = null; _useEffect.KillTrigger(); _usingPlayer = null; _chargingStationUI.SetUI(ChargingStationUI.EnabledUI.Robot); }
public bool Use(MechanicBehavior player) { if (!CanUse(player)) { return(false); } SetUsingPlayer(player); _useEffect.Trigger(); _holdTimer.Start(GameManager.Instance.GameGameData.ChargeTimePerPlayerCount.ElementAt(PlayerManager.Instance.PlayerCount - 1)); _holdRoutine = StartCoroutine(HoldRoutine()); _chargingStationUI.SetUI(ChargingStationUI.EnabledUI.PlayerInteract); return(true); }
public bool CanUse(MechanicBehavior player) { return(GameManager.Instance.MechanicsCanInteract && Enabled && !IsInUse && !_succesfulPlayers.Contains(player)); }