davidfig / pixi-viewport

A highly configurable viewport/2D camera designed to work with pixi.js
https://davidfig.github.io/pixi-viewport/
MIT License
1.04k stars 174 forks source link

Deprecation Warning: interactive is deprecated, use eventMode #453

Closed ben4d85 closed 11 months ago

ben4d85 commented 1 year ago

Current Behavior

When using pixi-viewport 5.0.1 with pixi.js 7.2.4, the following deprecation warning is logged to the console:

PixiJS Deprecation Warning: Setting interactive is deprecated, use eventMode = 'none'/'passive'/'auto'/'static'/'dynamic' instead.Deprecated since v7.2.0

Expected Behavior

No deprecation warning should be logged to the console.

Environment

Possible Solution

In the pixi-viewport codebase, look for occurrences of interactive and modify them to use the new eventMode instead.

From Pixi.js v7.2.0 Release Notes, section "Event Modes":

The new event-based system that replaced InteractionManager from v6 still had some work in order to fully support old features. In order to bridge the gap, we have deprecated interactive (boolean) and replaced with eventMode.

Additional Information

Full stack trace:

PixiJS Deprecation Warning:
Setting interactive is deprecated, use eventMode = 'none'/'passive'/'auto'/'static'/'dynamic' instead.Deprecated since v7.2.0

    at $.addListeners (webpack-internal:///(app-client)/./node_modules/pixi-viewport/dist/pixi_viewport.js:1159:31)
    at new $ (webpack-internal:///(app-client)/./node_modules/pixi-viewport/dist/pixi_viewport.js:1156:48)
    at new ht (webpack-internal:///(app-client)/./node_modules/pixi-viewport/dist/pixi_viewport.js:1364:565)
    at Object.create (webpack-internal:///(app-client)/./src/app/[lang]/map/pixi/PixiMapMine.tsx:207:30)
    at createElement (webpack-internal:///(app-client)/./node_modules/@pixi/react/dist/index.es-dev.js:834:27)
    at completeWork (webpack-internal:///(app-client)/./node_modules/@pixi/react/dist/index.es-dev.js:15131:29)
    at completeUnitOfWork (webpack-internal:///(app-client)/./node_modules/@pixi/react/dist/index.es-dev.js:20257:17)
    at performUnitOfWork (webpack-internal:///(app-client)/./node_modules/@pixi/react/dist/index.es-dev.js:20229:6)
    at workLoopSync (webpack-internal:///(app-client)/./node_modules/@pixi/react/dist/index.es-dev.js:20127:6)
    at renderRootSync (webpack-internal:///(app-client)/./node_modules/@pixi/react/dist/index.es-dev.js:20095:8)
    at performSyncWorkOnRoot (webpack-internal:///(app-client)/./node_modules/@pixi/react/dist/index.es-dev.js:19712:21)
    at flushSyncCallbacks (webpack-internal:///(app-client)/./node_modules/@pixi/react/dist/index.es-dev.js:4468:23)
    at eval (webpack-internal:///(app-client)/./node_modules/@pixi/react/dist/index.es-dev.js:19275:14)

    overrideMethod  @   console.js:213
    deprecation @   deprecation.mjs:15
    set interactive @   FederatedEventTarget.mjs:48
    addListeners    @   pixi_viewport.js:1138
    $   @   pixi_viewport.js:1135
    ht  @   pixi_viewport.js:1343
    create  @   PixiMapMine.tsx:195
    createElement   @   index.es-dev.js:785
    completeWork    @   index.es-dev.js:15082
    completeUnitOfWork  @   index.es-dev.js:20208
    performUnitOfWork   @   index.es-dev.js:20180
    workLoopSync    @   index.es-dev.js:20078
    renderRootSync  @   index.es-dev.js:20046
    performSyncWorkOnRoot   @   index.es-dev.js:19663
    flushSyncCallbacks  @   index.es-dev.js:4419
    eval    @   index.es-dev.js:19226
ben4d85 commented 11 months ago

Update: I just upgraded to:

I no longer receive the deprecation warning.

I assume the fix may have been the following, but I'm not sure: https://github.com/davidfig/pixi-viewport/commit/43008d6d070d6763710143b29f834afcf0f33e90