|
@@ -16,6 +16,7 @@ import { FloatLineComponent } from '../../../lines/floatLineComponent';
|
|
import { SliderLineComponent } from '../../../lines/sliderLineComponent';
|
|
import { SliderLineComponent } from '../../../lines/sliderLineComponent';
|
|
import { ButtonLineComponent } from '../../../lines/buttonLineComponent';
|
|
import { ButtonLineComponent } from '../../../lines/buttonLineComponent';
|
|
import { TextureHelper, TextureChannelToDisplay } from '../../../../../textureHelper';
|
|
import { TextureHelper, TextureChannelToDisplay } from '../../../../../textureHelper';
|
|
|
|
+import { Nullable } from 'babylonjs/types';
|
|
|
|
|
|
interface ISpritePropertyGridComponentProps {
|
|
interface ISpritePropertyGridComponentProps {
|
|
globalState: GlobalState;
|
|
globalState: GlobalState;
|
|
@@ -27,7 +28,7 @@ interface ISpritePropertyGridComponentProps {
|
|
|
|
|
|
export class SpritePropertyGridComponent extends React.Component<ISpritePropertyGridComponentProps> {
|
|
export class SpritePropertyGridComponent extends React.Component<ISpritePropertyGridComponentProps> {
|
|
private canvasRef: React.RefObject<HTMLCanvasElement>;
|
|
private canvasRef: React.RefObject<HTMLCanvasElement>;
|
|
- private imageData: Uint8Array;
|
|
|
|
|
|
+ private imageData: Nullable<Uint8Array> = null;
|
|
private cachedCellIndex = -1;
|
|
private cachedCellIndex = -1;
|
|
|
|
|
|
constructor(props: ISpritePropertyGridComponentProps) {
|
|
constructor(props: ISpritePropertyGridComponentProps) {
|
|
@@ -78,6 +79,14 @@ export class SpritePropertyGridComponent extends React.Component<ISpriteProperty
|
|
this.updatePreview();
|
|
this.updatePreview();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ shouldComponentUpdate(nextProps: ISpritePropertyGridComponentProps) {
|
|
|
|
+ if (nextProps.sprite !== this.props.sprite) {
|
|
|
|
+ this.imageData = null;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return true;
|
|
|
|
+ }
|
|
|
|
+
|
|
updatePreview() {
|
|
updatePreview() {
|
|
const sprite = this.props.sprite;
|
|
const sprite = this.props.sprite;
|
|
const manager = sprite.manager;
|
|
const manager = sprite.manager;
|