Files
aibis-dream/Assets/Scripts/FixSystemNew/BodyModule/Modules/ChipModule.cs
T
2025-03-25 23:14:01 +08:00

74 lines
1.4 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using AibisDream.Framework;
using AibisDream;
using System;
public class ChipModule : MonoBehaviour
{
private GameObject _chipModule;
private ChipData _chipData=new ();
private void Awake()
{
// 将数据注册到数据容器内
StorageSystem.Instance.RegisterData(_chipData);
// 添加加载逻辑
_chipData.LoadEvent += LoadData;
_chipModule = transform.Find("Chip").gameObject;
}
// Start is called before the first frame update
public void RemoveChipModule()
{
if (_chipModule.activeInHierarchy)
{
_chipModule.SetActive(false);
}
_chipData.isChipRemoved = true;
}
public void InstallChipModule()
{
if (!_chipModule.activeInHierarchy)
{
_chipModule.SetActive(true);
}
_chipData.isChipRemoved = false;
}
public void Chipinit()
{
_chipModule.SetActive(!_chipData.isChipRemoved);
}
private void LoadData(ChipData ufData)
{
Chipinit(); // 读取存档文件时触发,将当前系统恢复为目标状态
}
void Start()
{
Chipinit();
}
}
public class ChipData : IData
{
public bool isChipRemoved = false;
public event Action<ChipData> LoadEvent;
public IEnumerator Load()
{
LoadEvent?.Invoke(this);
yield break;
}
}