[engine] 多纹理渲染、动态图集调整开关时主动刷新渲染状态

This commit is contained in:
SmallMain
2022-06-25 01:03:18 +08:00
parent a414bb7945
commit d46a4db8cb
4 changed files with 45 additions and 2 deletions

View File

@@ -586,15 +586,24 @@ let Label = cc.Class({
autoSwitchMaterial: {
type: RenderComponent.EnableType,
default: RenderComponent.EnableType.GLOBAL,
notify(oldValue) {
if (this.autoSwitchMaterial === oldValue) return;
this.setVertsDirty();
},
},
allowDynamicAtlas: {
type: RenderComponent.EnableType,
default: RenderComponent.EnableType.GLOBAL,
notify(oldValue) {
if (this.allowDynamicAtlas === oldValue) return;
this.setVertsDirty();
},
},
enableRetina: {
type: RenderComponent.EnableType,
default: RenderComponent.EnableType.GLOBAL,
notify(oldValue) {
if (this.enableRetina === oldValue) return;
this.setVertsDirty();
}
},

View File

@@ -219,9 +219,21 @@ var MotionStreak = cc.Class({
autoSwitchMaterial: {
type: RenderComponent.EnableType,
default: RenderComponent.EnableType.GLOBAL,
notify(oldValue) {
if (this.autoSwitchMaterial === oldValue) return;
this.setVertsDirty();
},
},
},
setVertsDirty() {
// 自动切换材质
this._checkSwitchMaterial();
this._updateMaterial();
this._super();
},
__preload() {
this._super();
this._checkSwitchMaterial();

View File

@@ -391,10 +391,18 @@ var Sprite = cc.Class({
autoSwitchMaterial: {
type: RenderComponent.EnableType,
default: RenderComponent.EnableType.GLOBAL,
notify(oldValue) {
if (this.autoSwitchMaterial === oldValue) return;
this.setVertsDirty();
},
},
allowDynamicAtlas: {
type: RenderComponent.EnableType,
default: RenderComponent.EnableType.GLOBAL,
notify(oldValue) {
if (this.allowDynamicAtlas === oldValue) return;
this.setVertsDirty();
},
},
},