public UndoState(VoosActor actor) { position = actor.GetPosition(); rotation = actor.GetRotation(); spawnPosition = actor.GetSpawnPosition(); spawnRotation = actor.GetSpawnRotation(); }
private void ActorUpdate(VoosActor actor) { assetUI.header.text = $"{actor.GetDisplayName()} : Rotate"; UpdateVec3Input(actor.GetRotation().eulerAngles, assetUI.currentInputs); UpdateVec3Input(actor.GetSpawnRotation().eulerAngles, assetUI.spawnInputs); UpdateVec3Input(actor.GetRenderableRotation().eulerAngles, assetUI.offsetInputs); }
void SetActorSpawnPosition(VoosActor actor, Vector3 newPosition, bool setParent = false, string spawnParent = null) { Vector3 currPosition = actor.GetSpawnPosition(); Quaternion currRotation = actor.GetSpawnRotation(); string currParent = actor.GetSpawnTransformParent(); undoStack.PushUndoForActor( actor, $"Set actor spawn position", (undoActor) => { undoActor.SetSpawnPosition(newPosition); undoActor.SetSpawnRotation(currRotation); if (setParent) { VoosActor setSpawnParent = undoActor.GetEngine().GetActor(spawnParent); undoActor.SetSpawnTransformParent(setSpawnParent?.GetName()); } }, (undoActor) => { undoActor.SetSpawnPosition(currPosition); undoActor.SetSpawnRotation(currRotation); if (setParent) { VoosActor setSpawnParent = undoActor.GetEngine().GetActor(currParent); undoActor.SetSpawnTransformParent(setSpawnParent?.GetName()); } } ); }
public UndoState(VoosActor actor) { position = actor.GetPosition(); rotation = actor.GetRotation(); spawnPosition = actor.GetSpawnPosition(); spawnRotation = actor.GetSpawnRotation(); enablePhysics = actor.GetEnablePhysics(); }
void SetActorSpawnRotation(VoosActor actor, Vector3 vec) { Quaternion newRotation = Quaternion.Euler(vec); Vector3 currPosition = actor.GetSpawnPosition(); Quaternion currRotation = actor.GetSpawnRotation(); undoStack.PushUndoForActor( actor, $"Set actor spawn rotation", (undoActor) => { undoActor.SetSpawnPosition(currPosition); undoActor.SetSpawnRotation(newRotation); }, (undoActor) => { undoActor.SetSpawnPosition(currPosition); undoActor.SetSpawnRotation(currRotation); } ); }
Vector3 GetActorSpawnRotation(VoosActor actor) { return(actor.GetSpawnRotation().eulerAngles); }