private void ProximoQuadroChave() { novoEstado = EstadoRastreamento.EmExecucao; ContadorQuadros = 0; QuadroChaveAtual = QuadroChaveAtual.Next; contadorEtapas++; }
private void ReiniciarRastreamento() { ContadorQuadros = 0; QuadroChaveAtual = QuadrosChave.First; contadorEtapas = 0; novoEstado = EstadoRastreamento.NaoIdentificado; }
public override EstadoRastreamento Rastrear(Skeleton esqueletoUsuario) { if (esqueletoUsuario != null) { if (PosicaoValida(esqueletoUsuario)) { novoEstado = EstadoRastreamento.EmExecucao; if (QuadroChaveAtual.Value == QuadrosChave.Last.Value) novoEstado = EstadoRastreamento.Identificado; else { if (ContadorQuadros >= QuadroChaveAtual.Value.QuadroLimiteInferior && ContadorQuadros <= QuadroChaveAtual.Value.QuadroLimiteSuperior) ProximoQuadroChave(); else if (ContadorQuadros < QuadroChaveAtual.Value.QuadroLimiteInferior) PermanecerRastreando(); else if (ContadorQuadros > QuadroChaveAtual.Value.QuadroLimiteSuperior) ReiniciarRastreamento(); } } else if (QuadroChaveAtual.Value.QuadroLimiteSuperior < ContadorQuadros) ReiniciarRastreamento(); else PermanecerRastreando(); } else ReiniciarRastreamento(); return novoEstado; }
public void Rastrear(Skeleton esqueletoUsuario) { EstadoRastreamento novoEstado = movimento.Rastrear(esqueletoUsuario); if (novoEstado == EstadoRastreamento.Identificado && EstadoAtual != EstadoRastreamento.Identificado) { ChamarEvento(MovimentoIdentificado); } EstadoAtual = novoEstado; }
public override EstadoRastreamento Rastrear(Skeleton esqueletoUsuario) { if (esqueletoUsuario != null) { if (PosicaoValida(esqueletoUsuario)) { novoEstado = EstadoRastreamento.EmExecucao; if (QuadroChaveAtual.Value == QuadrosChave.Last.Value) { novoEstado = EstadoRastreamento.Identificado; } else { if (ContadorQuadros >= QuadroChaveAtual.Value.QuadroLimiteInferior && ContadorQuadros <= QuadroChaveAtual.Value.QuadroLimiteSuperior) { ProximoQuadroChave(); } else if (ContadorQuadros < QuadroChaveAtual.Value.QuadroLimiteInferior) { PermanecerRastreando(); } else if (ContadorQuadros > QuadroChaveAtual.Value.QuadroLimiteSuperior) { ReiniciarRastreamento(); } } } else if (QuadroChaveAtual.Value.QuadroLimiteSuperior < ContadorQuadros) { ReiniciarRastreamento(); } else { PermanecerRastreando(); } } else { ReiniciarRastreamento(); } return(novoEstado); }
public void Rastrear(Skeleton esqueletoUsuario) { EstadoRastreamento novoEstado = movimento.Rastrear(esqueletoUsuario); if (novoEstado == EstadoRastreamento.Identificado && EstadoAtual != EstadoRastreamento.Identificado) { ChamarEvento(MovimentoIdentificado); } if (novoEstado == EstadoRastreamento.EmExecucao && (EstadoAtual == EstadoRastreamento.EmExecucao || EstadoAtual == EstadoRastreamento.NaoIdentificado)) { ChamarEvento(MovimentoEmProgresso); } EstadoAtual = novoEstado; }
public Rastreador() { EstadoAtual = EstadoRastreamento.NaoIdentificado; movimento = Activator.CreateInstance <T>(); }
private void PermanecerRastreando() { ContadorQuadros++; novoEstado = EstadoRastreamento.EmExecucao; }
protected override bool PosicaoValida(Skeleton esqueletoUsuario) { EstadoRastreamento estado = QuadroChaveAtual.Value.PoseChave.Rastrear(esqueletoUsuario); return(estado == EstadoRastreamento.Identificado); }