Beispiel #1
0
 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;
 }
Beispiel #2
0
		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;
		}
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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);
        }