public PlayAtTimeInstruction(QueueInstruction instruction, int stateToPlay, TransitionData?transition, string transitionName) { type = instruction.type; boolParam = instruction.boolParam; timeParam = instruction.timeParam; this.stateToPlay = stateToPlay; this.transition = transition; this.transitionName = transitionName; if (instruction.type == QueueStateType.AfterSeconds && instruction.CountFromQueued) { isDoneTime = Time.time + instruction.timeParam; } else { isDoneTime = -1; //gets set when moved to the top of the queue } }
public void QueueStateChange(int state, QueueInstruction instruction, TransitionData?transition, int layer) { layers[layer].QueuePlayCommand(state, instruction, transition, "Custom"); }
public void QueueStateChange(int state, QueueInstruction instruction, int layer) => QueueStateChange(state, instruction, default, layer);
public void QueueStateChange(int state, QueueInstruction instruction, TransitionData transition) => QueueStateChange(state, instruction, transition, default);
public void QueuePlayCommand(int stateToPlay, QueueInstruction instruction, TransitionData?transition, string transitionName) { playInstructionQueue.Enqueue(new PlayAtTimeInstruction(instruction, stateToPlay, transition, transitionName)); }