存档功能

This commit is contained in:
2025-01-08 11:41:20 +08:00
parent c67366664c
commit 43b99f98e7
49 changed files with 2498 additions and 5762 deletions
@@ -11,15 +11,17 @@ namespace AibisDream.FixSystem
private const string SocketObjName = "Socket";
private const string ModulePicName = "Module Pic";
public Transform socketPos;
// public Transform _indicatorPos;
private BodyModuleSystem _bodyModuleSystem;
private Material _highlightMaterial;
private Material _alarmMaterial;
private Material _originalMaterial; // 原材质
private Material _originalMaterial; // 原材质
private SpriteRenderer _targetSpriteRenderer; // 目标的 SpriteRenderer
#endregion
// 模块基本数据
@@ -31,38 +33,42 @@ namespace AibisDream.FixSystem
// 获取组件索引
InitReference();
}
private void InitReference()
{
socketPos = transform.Find(SocketObjName);
_bodyModuleSystem = transform.parent.parent.GetComponent<BodyModuleSystem>();
_targetSpriteRenderer=transform.Find("Module Pic").GetComponent<SpriteRenderer>();
_targetSpriteRenderer = transform.Find("Module Pic").GetComponent<SpriteRenderer>();
_originalMaterial = _targetSpriteRenderer.GetComponent<SpriteRenderer>().material;
_highlightMaterial = Resources.Load<Material>("Materials/HighlightMaterial");
_alarmMaterial=Resources.Load<Material>("Materials/AlarmMaterial");
_alarmMaterial = Resources.Load<Material>("Materials/AlarmMaterial");
}
#region
public bool IsAvailable()
{
return _available;
}
public void SetSocketAvailable(bool isAvailable)
{
_available=isAvailable;
_available = isAvailable;
}
public void PlugIn()
{
if(DialogController.Instance!=null)
// 然后触发Yarn节点
DialogController.Instance.StartDialogNode(_bodyModuleSystem.inHotErr ? "系统过热" : data.PlugInNodeName);
if (DialogController.Instance != null)
// 然后触发Yarn节点
DialogController.Instance.StartDialogNode(_bodyModuleSystem.inHotErr ? "系统过热" : data.PlugInNodeName);
}
public void PlugOut()
{
_bodyModuleSystem.oscilloscopeSystem.MessageBoxSetNull();
StartCoroutine(_bodyModuleSystem.oscilloscopeSystem.DisableDeepInButton());
// TODO 触发Yarn节点(似乎目前没有拔出对话?)
}
@@ -87,7 +93,7 @@ namespace AibisDream.FixSystem
newSocketPos.localPosition = newData.SocketPos;
// 数据同步
data = newData;
InitReference();
}
@@ -102,20 +108,23 @@ namespace AibisDream.FixSystem
ModulePic = modulePic.sprite,
ModulePos = transform.localPosition,
SocketPos = newSocketPos.localPosition,
cantStopRunning=data.cantStopRunning,
cantStopRunning = data.cantStopRunning,
};
}
#endregion
#region
public void Highlight(bool enable)
{
if (_targetSpriteRenderer != null && _highlightMaterial != null&&_targetSpriteRenderer.material!=_alarmMaterial)
if (_targetSpriteRenderer != null && _highlightMaterial != null &&
_targetSpriteRenderer.material != _alarmMaterial)
{
_targetSpriteRenderer.material = enable ? _highlightMaterial : _originalMaterial;
}
}
public void Alarm(bool enable)
{
if (_targetSpriteRenderer != null && _alarmMaterial != null)
@@ -123,6 +132,7 @@ namespace AibisDream.FixSystem
_targetSpriteRenderer.material = enable ? _alarmMaterial : _originalMaterial;
}
}
// public void HideModule(bool enable)
// {
// if (targetSpriteRenderer != null && highlightMaterial != null)
@@ -130,16 +140,16 @@ namespace AibisDream.FixSystem
// targetSpriteRenderer.material = enable ? highlightMaterial : originalMaterial;
// }
// }
#endregion
#endregion
}
[Serializable]
public struct BodyModuleData
{
public const string PlugInNodeTemplate = "{0}PlugIn";
public const string DeepInTemplate = "{0}DeepIn";
// ID
public string moduleName;
@@ -174,11 +184,5 @@ namespace AibisDream.FixSystem
get => socketPos.ToVector3();
set => socketPos = new SerializableVector3(value);
}
// [JsonIgnore]
// public Vector3 IndicatorPos
// {
// get => indicatorPos.ToVector3();
// set => indicatorPos = new SerializableVector3(value);
// }
}
}