public void restoreActorsAnimator(int logicFrameID) { LogicFrameAnimatorRecord record = null; if (!totalFrameRecords.TryGetValue(logicFrameID, out record)) { Debuger.Log("No Actor animator Record????....." + logicFrameID); return; } ball.transform.position = record.ballPosition; Debuger.Log("restoreActorsAnimator " + logicFrameID + " ballPosition:" + record.ballPosition); record.recordActors.forEach(a => { AnimatorRecord entityAnimatorRecord = a.Value; if (entityAnimatorRecord != null) { EntityView view = null; if (sceneEntityList.TryGetValue(a.Key, out view)) { view.restoreAnimatorRecord(entityAnimatorRecord); } } }); //totalFrameRecords.Clear(); }
public void createRecord(int logicFrameID) { if (!recordingAnimatorState) { return; } //Debuger.Log("createRecord " + logicFrameID); LogicFrameAnimatorRecord record = new LogicFrameAnimatorRecord(); foreach (var item in sceneEntityList) { AnimatorRecord entityAnimatorRecord = item.Value.createAnimatorRecord(); if (entityAnimatorRecord != null) { record.recordActors.Add(item.Value.id, entityAnimatorRecord); } } record.ballPosition = ball.transform.position; totalFrameRecords.Add(logicFrameID, record); }