private void CheckClips(RecordedClipMoment current) { if (clips.Count == 0) { lastClipMoment = current; clips.Add(current); } else { if (current.position != lastClipMoment.position || current.rotation != lastClipMoment.rotation || current.shot != lastClipMoment.shot) { lastClipMoment = current; clips.Add(current); hasFireAShot = false; } } }
private void Record() { if (Input.GetKeyDown(KeyCode.Space)) { if (!isRecording) { isRecording = true; } } if (isRecording) { if (recordTimer >= recordTime) { recordTimer = 0; isRecording = false; } RecordedClipMoment clip = new RecordedClipMoment { bullet = bulletObject, position = transform.position, rotation = transform.eulerAngles.y, shot = hasFireAShot, }; GetComponent <Renderer>().material.color = Color.green; CheckClips(clip); recordTimer += Time.deltaTime; } else { GetComponent <Renderer>().material.color = Color.blue; if (clips.Count > 0) { CreateClone(); } } }