using System.Collections; using System.Collections.Generic; using UnityEngine; public class CloneWaterReceiver : CloneSingleObj { /// /// 添加初始状态记录 /// /// public override void AddRecordFrame(List list) { foreach (Transform child in transform) { var data = new RecordWaterReceiver(); SetWaterReceiverData(data, child); string json = JsonUtility.ToJson(data); var objectJson = new ObjectData(); objectJson.cloneObjType = cloneObjType; objectJson.json = json; list.Add(objectJson); } } public virtual void SetWaterReceiverData(RecordWaterReceiver data, Transform obj) { var msg = obj.GetComponent(); data.gameObjType = msg.gameObjType; data.objectName = obj.gameObject.name; data.hasSupplier = obj.GetComponent().hasSupplier; data.buildNum = msg.buildNum; data.floorNum = msg.floorNum; data.interlayerNum = msg.interlayerNum; data.myTransform.setMyPosition(obj.localPosition); data.myTransform.setMyRotation(obj.localRotation); data.myTransform.setMyScale(obj.localScale); data.isActive = obj.gameObject.activeSelf; if (obj.GetComponent()) { data.IsSelect = obj.GetComponent().selected; } data.task = obj.GetComponent().task; } /// /// 添加记录(克隆) /// public override void AddRecordEventClone(Transform obj) { if (ReplaySetting.PlayStatus == PlayStatus.isEditor && RecordManager.Instance.recordStatus == RecordStatus.normal) { var eventData = new EventData(); eventData.time = RecordManager.Instance.RecordTimer; eventData.cloneObjType = cloneObjType; eventData.eventType = RecordEventType.Clone; var data = new RecordWaterReceiver(); SetWaterReceiverData(data, obj); string json = JsonUtility.ToJson(data); eventData.json = json; RecordManager.Instance.jsonData.eventDataList.Add(eventData); } } public override void AddRecordTag(List list) { } }