struct IZoomMode { };
IWeapon.h
virtual ~IZoomMode();
virtual void Activate(bool activate) = 0;
virtual bool AllowsZoomSnap() const = 0;
virtual void ApplyZoomMod(IFireMode * pFM, float modMultiplier) = 0;
virtual bool CanZoom() const = 0;
virtual void Enable(bool enable) = 0;
virtual void EndStabilize() = 0;
virtual void ExitZoom(bool force = false) = 0;
virtual void FilterView(struct SViewParams & viewParams) = 0;
virtual int GetCurrentStep() const = 0;
virtual void GetFPOffset(QuatT & offset) const = 0;
virtual int GetMaxZoomSteps() const = 0;
virtual void GetMemoryUsage(ICrySizer * s) const = 0;
virtual float GetZoomFoVScale(int step) const = 0;
virtual float GetZoomInTime() const = 0;
virtual EZoomState GetZoomState() const = 0;
virtual float GetZoomTransition() const = 0;
virtual bool IsEnabled() const = 0;
virtual bool IsStable() = 0;
virtual bool IsToggle() = 0;
! zoom mode is activated by toggling
virtual bool IsZoomed() const = 0;
virtual bool IsZoomingIn() const = 0;
virtual bool IsZoomingInOrOut() const = 0;
virtual void PostFilterView(struct SViewParams & viewParams) = 0;
virtual void Release() = 0;
virtual void ResetZoomMod(IFireMode * pFM) = 0;
virtual void Serialize(TSerialize ser) = 0;
virtual void StartStabilize() = 0;
virtual bool StartZoom(bool stayZoomed = false, bool fullZoomOut = true, int zoomStep = 1) = 0;
virtual void StopZoom() = 0;
virtual void Update(float frameTime, uint32 frameId) = 0;
virtual void UpdateFPView(float frameTime) = 0;
virtual void ZoomIn() = 0;
virtual bool ZoomOut() = 0;