Major refactor, splitting ModuleConformalDecal
parent
ffff9d629c
commit
33873cacc0
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:928c876dbb2ffadb39a567a5d74bef52f3fc466030b75e15ca67bd895ba2684e
|
||||
size 29184
|
||||
oid sha256:ad647a749e7c04e13234735a12958e628cae94e3275dcac1ab8117652a1ecefa
|
||||
size 29696
|
||||
|
@ -0,0 +1,32 @@
|
||||
using System;
|
||||
using ConformalDecals.MaterialModifiers;
|
||||
using ConformalDecals.Util;
|
||||
using UnityEngine;
|
||||
|
||||
namespace ConformalDecals {
|
||||
public class ModuleConformalDecalFlag : ModuleConformalDecalBase {
|
||||
|
||||
[KSPField]
|
||||
private MaterialTextureProperty _flagTextureProperty;
|
||||
|
||||
public override void OnLoad(ConfigNode node) {
|
||||
base.OnLoad(node);
|
||||
|
||||
_flagTextureProperty = new MaterialTextureProperty("_MainTex", Texture2D.whiteTexture);
|
||||
materialProperties.AddProperty(_flagTextureProperty);
|
||||
}
|
||||
|
||||
public override void OnStart(StartState state) {
|
||||
base.OnStart(state);
|
||||
|
||||
UpdateFlag(EditorLogic.FlagURL != string.Empty ? EditorLogic.FlagURL : HighLogic.CurrentGame.flagURL);
|
||||
GameEvents.onMissionFlagSelect.Add(UpdateFlag);
|
||||
}
|
||||
|
||||
private void UpdateFlag(string flagUrl) {
|
||||
_flagTextureProperty.texture = GameDatabase.Instance.GetTexture(flagUrl, false);
|
||||
|
||||
materialProperties.UpdateMaterials();
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
using ConformalDecals.MaterialModifiers;
|
||||
using ConformalDecals.Util;
|
||||
using UnityEngine;
|
||||
|
||||
namespace ConformalDecals {
|
||||
public class ModuleConformalDecalGeneric : ModuleConformalDecalBase {
|
||||
public override void OnLoad(ConfigNode node) {
|
||||
base.OnLoad(node);
|
||||
|
||||
// add texture nodes
|
||||
foreach (var textureNode in node.GetNodes("TEXTURE")) {
|
||||
materialProperties.AddProperty(new MaterialTextureProperty(textureNode));
|
||||
}
|
||||
|
||||
// add float nodes
|
||||
foreach (var floatNode in node.GetNodes("FLOAT")) {
|
||||
materialProperties.AddProperty(new MaterialFloatProperty(floatNode));
|
||||
}
|
||||
|
||||
// add color nodes
|
||||
foreach (var colorNode in node.GetNodes("COLOR")) {
|
||||
materialProperties.AddProperty(new MaterialColorProperty(colorNode));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue