存档功能
This commit is contained in:
@@ -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);
|
||||
// }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user