Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Program()
- {
- BuildConfig(Me);
- }
- void Main(string argument)
- {
- UpdateConfig(Me);
- Echo($"canSing: {canSing}\nmyAge: {myAge}\nmissileName: {missileName}");
- }
- #region VARIABLE CONFIG
- Dictionary<string, string> configDict = new Dictionary<string, string>();
- void BuildConfig(IMyTerminalBlock block)
- {
- configDict.Clear();
- configDict.Add("missileGroupNameTag", missileGroupNameTag.ToString());
- configDict.Add("broadcastAntennaName", broadcastAntennaName.ToString());
- configDict.Add("detachThrustTag", detachThrustTag.ToString());
- configDict.Add("shouldStealth", shouldStealth.ToString());
- configDict.Add("updatesPerSecond", updatesPerSecond.ToString());
- configDict.Add("disconnectDelay", disconnectDelay.ToString());
- configDict.Add("guidanceDelay", guidanceDelay.ToString());
- configDict.Add("detachDuration", detachDuration.ToString());
- configDict.Add("mainIgnitionDelay", mainIgnitionDelay.ToString());
- configDict.Add("driftCompensation", driftCompensation.ToString());
- configDict.Add("enableSpiralTrajectory", enableSpiralTrajectory.ToString());
- configDict.Add("spiralRadius", spiralRadius.ToString());
- configDict.Add("timeMaxSpiral", timeMaxSpiral.ToString());
- configDict.Add("proportionalConstant", proportionalConstant.ToString());
- configDict.Add("derivativeConstant", derivativeConstant.ToString());
- configDict.Add("offsetUp", offsetUp.ToString());
- configDict.Add("offsetLeft", offsetLeft.ToString());
- configDict.Add("missileSpinRPM", missileSpinRPM.ToString());
- UpdateConfig(block);
- }
- void UpdateConfig(IMyTerminalBlock block)
- {
- string customData = block.CustomData;
- var lines = customData.Split(new char[] { '\n', '\r' }, StringSplitOptions.RemoveEmptyEntries);
- foreach (var thisLine in lines)
- {
- var words = thisLine.Split('=');
- if (words.Length == 2)
- {
- var variableName = words[0].Trim();
- var variableValue = words[1].Trim();
- string dictValue;
- if (configDict.TryGetValue(variableName, out dictValue))
- {
- configDict[variableName] = variableValue;
- }
- }
- }
- GetVariableFromConfig("missileGroupNameTag", ref missileGroupNameTag);
- GetVariableFromConfig("broadcastAntennaName", ref broadcastAntennaName);
- GetVariableFromConfig("detachThrustTag", ref detachThrustTag);
- GetVariableFromConfig("shouldStealth", ref shouldStealth);
- GetVariableFromConfig("updatesPerSecond", ref updatesPerSecond);
- GetVariableFromConfig("disconnectDelay", ref disconnectDelay);
- GetVariableFromConfig("guidanceDelay", ref guidanceDelay);
- GetVariableFromConfig("detachDuration", ref detachDuration);
- GetVariableFromConfig("mainIgnitionDelay", ref mainIgnitionDelay);
- GetVariableFromConfig("driftCompensation", ref driftCompensation);
- GetVariableFromConfig("enableSpiralTrajectory", ref enableSpiralTrajectory);
- GetVariableFromConfig("spiralRadius", ref spiralRadius);
- GetVariableFromConfig("timeMaxSpiral", ref timeMaxSpiral);
- GetVariableFromConfig("proportionalConstant", ref proportionalConstant);
- GetVariableFromConfig("derivativeConstant", ref derivativeConstant);
- GetVariableFromConfig("offsetUp", ref offsetUp);
- GetVariableFromConfig("offsetLeft", ref offsetLeft);
- GetVariableFromConfig("missileSpinRPM", ref missileSpinRPM);
- WriteConfig(block);
- }
- StringBuilder configSB = new StringBuilder();
- void WriteConfig(IMyTerminalBlock block)
- {
- configSB.Clear();
- foreach (var keyValue in configDict)
- {
- configSB.AppendLine($"{keyValue.Key} = {keyValue.Value}");
- }
- block.CustomData = configSB.ToString();
- }
- void GetVariableFromConfig(string name, ref bool variableToUpdate)
- {
- string valueStr;
- if (configDict.TryGetValue(name, out valueStr))
- {
- bool thisValue;
- if (bool.TryParse(valueStr, out thisValue))
- {
- variableToUpdate = thisValue;
- }
- }
- }
- void GetVariableFromConfig(string name, ref int variableToUpdate)
- {
- string valueStr;
- if (configDict.TryGetValue(name, out valueStr))
- {
- int thisValue;
- if (int.TryParse(valueStr, out thisValue))
- {
- variableToUpdate = thisValue;
- }
- }
- }
- void GetVariableFromConfig(string name, ref float variableToUpdate)
- {
- string valueStr;
- if (configDict.TryGetValue(name, out valueStr))
- {
- float thisValue;
- if (float.TryParse(valueStr, out thisValue))
- {
- variableToUpdate = thisValue;
- }
- }
- }
- void GetVariableFromConfig(string name, ref double variableToUpdate)
- {
- string valueStr;
- if (configDict.TryGetValue(name, out valueStr))
- {
- double thisValue;
- if (double.TryParse(valueStr, out thisValue))
- {
- variableToUpdate = thisValue;
- }
- }
- }
- void GetVariableFromConfig(string name, ref string variableToUpdate)
- {
- string valueStr;
- if (configDict.TryGetValue(name, out valueStr))
- {
- variableToUpdate = valueStr;
- }
- }
- #endregion
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement