internal void Setup(Transform transform, ILookAtEyeDirectionProvider eyeDirectionProvider, ILookAtEyeDirectionApplicable eyeDirectionApplicable) { if (ExpressionAvatar == null) { #if VRM_DEVELOP if (m_debugCount++ == 0) { Debug.LogWarning($"{nameof(VRM10ControllerExpression)}.{nameof(ExpressionAvatar)} is null."); } #endif return; } Restore(); _merger = new ExpressionMerger(ExpressionAvatar.Clips, transform); _keys = ExpressionAvatar.Clips.Select(ExpressionKey.CreateFromClip).ToList(); var oldInputWeights = _inputWeights; _inputWeights = _keys.ToDictionary(x => x, x => 0f); foreach (var key in _keys) { // remain user input weights. if (oldInputWeights.ContainsKey(key)) { _inputWeights[key] = oldInputWeights[key]; } } _actualWeights = _keys.ToDictionary(x => x, x => 0f); _validator = ExpressionValidatorFactory.Create(ExpressionAvatar); _eyeDirectionProvider = eyeDirectionProvider; _eyeDirectionApplicable = eyeDirectionApplicable; }
public Application(IFileValidator fileValidator, IExpressionValidator expressionValidator, IConsoleMessenger consoleMessenger, IInputCatcher userInputCatcher, IUnitOfWork unitOfWork) { _fileValidator = fileValidator; _expressionValidator = expressionValidator; _consoleMessenger = consoleMessenger; _userInputCatcher = userInputCatcher; _unitOfWork = unitOfWork; }
public string Calculate() { IExpressionValidator expressionValidator = Factory.CreateExpressionValidator(); expressionValidator.Expression = string.Join("", InfixNotationValue); if (expressionValidator.Validate()) { PostfixNotationValue = NotationConverter.ConvertToPostfix(string.Join("", InfixNotationValue), _operators); foreach (var item in PostfixNotationValue) { if (_operators.Contains(item)) { B = double.Parse(Stack.Pop()); A = double.Parse(Stack.Pop()); if (item == "/") { State = ExpressionSubjectState.Division; this.Notify(); } else if (item == "*") { State = ExpressionSubjectState.Multiplication; this.Notify(); } else if (item == "+") { State = ExpressionSubjectState.Addition; this.Notify(); } else if (item == "-") { State = ExpressionSubjectState.Subtraction; this.Notify(); } } else { Stack.Push(item); } } return(Result = Stack.Pop()); } else { return(Result); } }
internal Vrm10RuntimeExpression(Vrm10Instance target, ILookAtEyeDirectionProvider eyeDirectionProvider, ILookAtEyeDirectionApplicable eyeDirectionApplicable) { Restore(); _merger = new ExpressionMerger(target.Vrm.Expression, target.transform); _keys = target.Vrm.Expression.Clips.Select(x => target.Vrm.Expression.CreateKey(x.Clip)).ToList(); var oldInputWeights = _inputWeights; _inputWeights = _keys.ToDictionary(x => x, x => 0f); foreach (var key in _keys) { // remain user input weights. if (oldInputWeights.ContainsKey(key)) { _inputWeights[key] = oldInputWeights[key]; } } _actualWeights = _keys.ToDictionary(x => x, x => 0f); _validator = ExpressionValidatorFactory.Create(target.Vrm.Expression); _eyeDirectionProvider = eyeDirectionProvider; _eyeDirectionApplicable = eyeDirectionApplicable; }
internal void Setup(VRM10Controller target, ILookAtEyeDirectionProvider eyeDirectionProvider, ILookAtEyeDirectionApplicable eyeDirectionApplicable) { Restore(); _merger = new ExpressionMerger(Clips, target.transform); _keys = Clips.Select(ExpressionKey.CreateFromClip).ToList(); var oldInputWeights = _inputWeights; _inputWeights = _keys.ToDictionary(x => x, x => 0f); foreach (var key in _keys) { // remain user input weights. if (oldInputWeights.ContainsKey(key)) { _inputWeights[key] = oldInputWeights[key]; } } _actualWeights = _keys.ToDictionary(x => x, x => 0f); _validator = ExpressionValidatorFactory.Create(this); _eyeDirectionProvider = eyeDirectionProvider; _eyeDirectionApplicable = eyeDirectionApplicable; }
public CalculatorService(IExpressionValidator validator, IExpressionCalculator calculator) { _validator = validator; _calculator = calculator; }
public ExpressionFileReader(IExpressionValidator expressionValidator) { _expressionValidator = expressionValidator; }
public ExpressionFileReader() { _expressionValidator = new ExpressionValidator(); }
public RegularExpressionRecognizer(IExpressionValidator expressionValidator) { _expressionValidator = expressionValidator; }
public ExpressionProcessor(IExpressionConfig expressionConfig) { _expressionConfig = expressionConfig; _expressionValidator = new ExpressionValidator(expressionConfig); }
public virtual void SetupStringCalculator(IExpressionCleaner cleaner, IExpressionValidator validator) { Cleaner = cleaner; Validator = validator; }
private readonly Stack <char> _stack = new Stack <char>(); // Стэк для ОПЗ public SimpleCalculationEngine(IExpressionValidator expressionValidator) { _expressionValidator = expressionValidator; }