public void addFrameItemToLatestFrame(Vector3 position, Quaternion rotation, bool deactivateAfterThisFrame, TimeManageable item) { TransformData tfd = new TransformData(); tfd.position = position; tfd.rotation = rotation; FrameItem newFrameItem = new FrameItem(); newFrameItem.transformData = tfd; newFrameItem.deactivateAfterThisFrame = deactivateAfterThisFrame; newFrameItem.item = item; recordedFrames[recordedFrames.Count - 1].AddFrameItem(newFrameItem); }
private void RewindOneFrame(Frame frame) { foreach (FrameItem fi in frame.frameEntities) { TimeManageable tm = fi.item; tm.gameObject.SetActive(true); tm.transform.position = fi.transformData.position; tm.transform.rotation = fi.transformData.rotation; if (fi.deactivateAfterThisFrame) { this.deleteOnNextRewindFrame.Add(tm); } } }