示例#1
0
 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());
            }
        }
            );
    }
示例#4
0
 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);
 }