예제 #1
0
 public ModelData(ConfigNode node)
 {
     name = node.GetStringValue("name");
     modelDefinition = SSTUModelData.getModelDefinition(name);
     if (modelDefinition==null)
     {
         MonoBehaviour.print("ERROR: Could not locate model data for name: " + name);
     }
     minVerticalScale = node.GetFloatValue("minVerticalScale", 1f);
     maxVerticalScale = node.GetFloatValue("maxVerticalScale", 1f);
 }
 public SolarData(ConfigNode node)
 {
     name = node.GetStringValue("name");
     modelName = node.GetStringValue("modelName", name);
     upgradeName = node.GetStringValue("upgrade");
     def = SSTUModelData.getModelDefinition(modelName);
     ConfigNode solarNode = def.configNode.GetNode("SOLARDATA");
     animationName = solarNode.GetStringValue("animationName");
     pivotNames = solarNode.GetStringValue("pivotNames");
     secPivotNames = solarNode.GetStringValue("secPivotNames");
     sunNames = solarNode.GetStringValue("sunNames");
     energy = solarNode.GetFloatValue("energy");
     panelsEnabled = solarNode.GetBoolValue("enabled");
     sunAxis = solarNode.GetStringValue("sunAxis", SSTUSolarPanelDeployable.Axis.ZPlus.ToString());
     energy = node.GetFloatValue("energy", energy);//allow local override of energy
     ConfigNode[] posNodes = node.GetNodes("POSITION");
     int len = posNodes.Length;
     positions = new SolarPosition[len];
     for (int i = 0; i < len; i++)
     {
         positions[i] = new SolarPosition(posNodes[i]);
     }
 }
예제 #3
0
 private static void loadDefs()
 {
     if (defsLoaded) { return; }
     defsLoaded = true;
     ConfigNode[] modelDatas = GameDatabase.Instance.GetConfigNodes("SSTU_MODEL");
     ModelDefinition data;
     foreach (ConfigNode node in modelDatas)
     {
         data = new ModelDefinition(node);
         MonoBehaviour.print("Loading model definition data for name: " + data.name + " with model URL: " + data.modelName);
         baseModelData.Add(data.name, data);
     }
 }
예제 #4
0
        public void setHeightExplicit(ModelDefinition def, GameObject root, float dScale, float height, ModelOrientation orientation)
        {
            float vScale = height / def.height;

            setHeightFromScale(def, root, dScale, vScale, orientation);
        }
예제 #5
0
 public ModelSwitchData(ConfigNode node, Part owner, ModelSwitchGroup group)
 {
     name = node.GetStringValue("name");
     modelName = node.GetStringValue("modelName", name);
     groupName = node.GetStringValue("group", groupName);
     containerIndex = node.GetIntValue("containerIndex", 0);
     moduleIDs = node.GetIntValues("managedModuleID", new int[] { });
     localPosition = node.GetVector3("localPosition", Vector3.zero);
     localRotation = node.GetVector3("localRotation", Vector3.zero);
     scale = node.GetFloatValue("scale", scale);
     nodes = ModelNodeData.load(node.GetStringValues("node"));
     suppressNode = nodes.Length > 0;
     modelDefinition = SSTUModelData.getModelDefinition(modelName);
     if (modelDefinition == null) { throw new NullReferenceException("Could not locate model data for name: " + modelName + " :: " + name); }
     this.part = owner;
     this.group = group;
     this.group.add(this);
 }