소스 검색

Bug fix - can create new particle effects without crash.

hdunderscore 11 년 전
부모
커밋
b7fdb7083f
2개의 변경된 파일16개의 추가작업 그리고 8개의 파일을 삭제
  1. 16 7
      Bin/Data/Scripts/Editor/EditorParticleEffect.as
  2. 0 1
      Bin/Data/UI/EditorParticleEffectWindow.xml

+ 16 - 7
Bin/Data/Scripts/Editor/EditorParticleEffect.as

@@ -603,8 +603,8 @@ bool ShowParticleEffectEditor()
 void HideParticleEffectEditor()
 {
     log.Info("HideParticleEffectEditor()");
-    //if (particleEffectWindow !is null)
-        //particleEffectWindow.visible = false;
+    if (particleEffectWindow !is null)
+        particleEffectWindow.visible = false;
 }
 
 void InitParticleEffectPreview()
@@ -643,7 +643,7 @@ void InitParticleEffectPreview()
     gizmo.occludee = false;
 
     particleEffectEmitter = particleEffectPreviewNode.CreateComponent("ParticleEmitter");
-    editParticleEffect = ParticleEffect();//cache.GetResource("ParticleEffect", "Particle/SnowExplosion.xml");
+    editParticleEffect = CreateNewParticleEffect();//cache.GetResource("ParticleEffect", "Particle/SnowExplosion.xml");
     particleEffectEmitter.effect = editParticleEffect;
 
     SubscribeToEvent(particleEffectPreviewNode, "Update", "HandleParticleEffectUpdate");
@@ -655,6 +655,17 @@ void InitParticleEffectPreview()
     SubscribeToEvent(particleEffectPreview, "DragMove", "RotateParticleEffectPreview");
 }
 
+ParticleEffect@ CreateNewParticleEffect()
+{
+    ParticleEffect@ effect = ParticleEffect();
+    Material@ res = cache.GetResource("Material", "Materials/Particle.xml");
+    if (res is null)
+        log.Error("Could not load default material for new particle effect.");
+    effect.material = res;
+    effect.AddColorTime(Color(1,1,1,1), 0.0f);
+    return effect;
+}
+
 void HandleParticleEffectUpdate(StringHash eventType, VariantMap& eventData)
 {
     log.Info("ASDSA");
@@ -1111,9 +1122,7 @@ void RefreshParticleEffectMaterial()
         {
             nameEdit.text = "Materials/Particle.xml";
             Material@ res = cache.GetResource("Material", "Materials/Particle.xml");
-            if (res is null)
-                log.Error("Could not load default material for particle effect editor.");
-            else
+            if (res !is null)
                 editParticleEffect.material = res;
         }
     }
@@ -1191,7 +1200,7 @@ void PickEditParticleEffectDone(StringHash eventType, VariantMap& eventData)
 void NewParticleEffect()
 {
     log.Info("NewParticleEffect()");
-    EditParticleEffect(ParticleEffect());
+    EditParticleEffect(CreateNewParticleEffect());
 }
 
 void RevertParticleEffect()

+ 0 - 1
Bin/Data/UI/EditorParticleEffectWindow.xml

@@ -389,7 +389,6 @@
                     <attribute name="Name" value="ColorFrameListView" />
                     <attribute name="Highlight Mode" value="Always" />
                     <attribute name="Min Size" value="0 100" />
-                    <attribute name="Layout Border" value="0 4 0 4" />
                 </element>
                 <element>
                     <attribute name="Name" value="ColorFrameButtonContainer" />