public AGSSayComponent(IGameState state, IGameFactory factory, IInput input, ISayLocationProvider location, FastFingerChecker fastFingerChecker, ISayConfig sayConfig, IBlockingEvent <BeforeSayEventArgs> onBeforeSay, ISoundEmitter emitter, ISpeechCache speechCache) { _state = state; _factory = factory; _input = input; _location = location; _fastFingerChecker = fastFingerChecker; _emitter = emitter; _speechCache = speechCache; SpeechConfig = sayConfig; OnBeforeSay = onBeforeSay; }
public AGSSayBehavior(IGameState state, IGameFactory factory, IInput input, ISayLocationProvider location, FastFingerChecker fastFingerChecker, ISayConfig sayConfig, IHasOutfit outfit, IFaceDirectionBehavior faceDirection, IBlockingEvent<BeforeSayEventArgs> onBeforeSay, ISoundEmitter emitter, ISpeechCache speechCache) { _state = state; _factory = factory; _input = input; _location = location; _fastFingerChecker = fastFingerChecker; _outfit = outfit; _faceDirection = faceDirection; _emitter = emitter; _speechCache = speechCache; SpeechConfig = sayConfig; OnBeforeSay = onBeforeSay; }
partial void beforeInitComponents(Resolver resolver, IOutfit outfit) { TypedParameter objParameter = new TypedParameter(typeof(IObject), this); if (outfit != null) { _faceDirectionComponent.CurrentDirectionalAnimation = outfit[AGSOutfit.Idle]; } ISayLocationProvider location = resolver.Container.Resolve <ISayLocationProvider>(objParameter); TypedParameter locationParameter = new TypedParameter(typeof(ISayLocationProvider), location); _sayComponent = resolver.Container.Resolve <ISayComponent>(locationParameter); //todo: refactor ISayLocationProvider into a component, then bind to it from say behavior, then add walk & say to the template and remove from here _walkComponent = AddComponent <IWalkComponent>(); AddComponent <ISayComponent>(_sayComponent); }
partial void beforeInitComponents(Resolver resolver, IOutfit outfit) { TypedParameter objParameter = new TypedParameter(typeof(IObject), this); if (outfit != null) { _faceDirectionBehavior.CurrentDirectionalAnimation = outfit[AGSOutfit.Idle]; } TypedParameter outfitParameter = new TypedParameter(typeof(IHasOutfit), this); ISayLocationProvider location = resolver.Container.Resolve <ISayLocationProvider>(objParameter); TypedParameter locationParameter = new TypedParameter(typeof(ISayLocationProvider), location); TypedParameter faceDirectionParameter = new TypedParameter(typeof(IFaceDirectionBehavior), _faceDirectionBehavior); _sayBehavior = resolver.Container.Resolve <ISayBehavior>(locationParameter, outfitParameter, faceDirectionParameter); _walkBehavior = resolver.Container.Resolve <IWalkBehavior>(objParameter, outfitParameter, faceDirectionParameter); AddComponent(_sayBehavior); AddComponent(_walkBehavior); }