Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class WelcomeContext : MVCSContext
- {
- public WelcomeContext(MonoBehaviour view)
- :base(view)
- {
- }
- public WelcomeContext(MonoBehaviour view, ContextStartupFlags flags)
- :base(view, flags)
- {
- }
- protected override void addCoreComponents()
- {
- base.addCoreComponents();
- injectionBinder.Unbind<ICommandBinder>();
- injectionBinder.Bind<ICommandBinder>().To<SignalCommandBinder>().ToSingleton();
- }
- public override IContext Start()
- {
- base.Start();
- InitialWelcomeSignal signal = injectionBinder.GetInstance<InitialWelcomeSignal>() as InitialWelcomeSignal;
- signal.Dispatch();
- return this;
- }
- protected override void mapBindings()
- {
- App42API.Initialize(GameSettings.App42ClientApiKey, GameSettings.App42ClientSecretKey);
- var app42userService = App42API.BuildUserService();
- var app42socialService = App42API.BuildSocialService();
- var app42storageService = App42API.BuildStorageService();
- injectionBinder.Bind<UserService>().To(app42userService).CrossContext();
- injectionBinder.Bind<SocialService>().To(app42socialService);
- injectionBinder.Bind<StorageService>().To(app42storageService);
- injectionBinder.Bind<ISceneTransition>().To<GoTo>().ToSingleton().CrossContext();
- injectionBinder.Bind<IErrorHandler>().To<App42ErrorHandler>();
- injectionBinder.Bind<ValidationUserCredentialsSignal>().ToSingleton();
- injectionBinder.Bind<MyWorldTraveler.Social.User>().ToSingleton().CrossContext();
- injectionBinder.Bind<IUserAuthenticationService>()
- .To<UserServiceAdapter>()
- .ToName(ServiceType.App42)
- .ToSingleton();
- injectionBinder.Bind<IAuthenticatable>()
- .To<App42Authentication>()
- .ToName(ServiceType.App42)
- .ToSingleton();
- injectionBinder.Bind<IAuthenticatable>()
- .To<FacebookAuthentication>()
- .ToName(ServiceType.Facebook)
- .ToSingleton();
- injectionBinder.Bind<IUserAction>()
- .To<UserActionAdapter>()
- .ToName(ServiceType.App42)
- .ToSingleton();
- injectionBinder.Bind<IServiceCallback>()
- .To<App42LoginCallback>()
- .ToName(ServiceCallback.Login);
- injectionBinder.Bind<IServiceCallback>()
- .To<App42SignUpCallback>()
- .ToName(ServiceCallback.SignUp);
- injectionBinder.Bind<Credentials>()
- .To<App42Credentials>()
- .ToName(CredentialsFor.App42)
- .ToSingleton();
- injectionBinder.Bind<Credentials>()
- .To<FacebookCredentials>()
- .ToName(CredentialsFor.Facebook)
- .ToSingleton();
- injectionBinder.Bind<FiniteStateMachine<View>>()
- .To<MenuSystem>()
- .ToName(FSM.UI)
- .ToSingleton()
- .CrossContext();
- injectionBinder.Bind<FacebookProfileGottenSignal>().ToSingleton();
- injectionBinder.Bind<FacebookUserLinkedSignal>().ToSingleton();
- mediationBinder.Bind<WelcomeView>().To<WelcomeMediator>();
- mediationBinder.Bind<LoginView>().To<LoginMediator>();
- mediationBinder.Bind<SignUpView>().To<SignUpMediator>();
- mediationBinder.Bind<InformationPopupView>().To<InformationPopupMediator>();
- commandBinder.Bind<InitialWelcomeSignal>().To<InitialWelcomeCommand>().Once();
- commandBinder.Bind<NavigateToMainSceneSignal>().To<NavigateToMainSceneCommand>();
- commandBinder.Bind<CheckConnectionSignal>().To<CheckConnectionCommand>();
- commandBinder.Bind<LoginSignal>().InSequence()
- .To<ValidateUsernameCommand>()
- .To<ValidateEmailCommand>()
- .To<ValidatePasswordCommand>()
- .To<LoginCommand>();
- commandBinder.Bind<SubmitSignal>().InSequence()
- .To<ValidateUsernameCommand>()
- .To<ValidateEmailCommand>()
- .To<ValidatePasswordCommand>()
- .To<SignUpCommand>();
- commandBinder.Bind<CheckAuthenticationSignal>().To<CheckAuthenticationCommand>();
- commandBinder.Bind<InitFacebookSignal>().To<InitFacebookCommand>();
- commandBinder.Bind<PushViewSignal>().To<PushViewCommand>();
- commandBinder.Bind<PopViewSignal>().To<PopViewCommand>();
- commandBinder.Bind<LinkAndStoreFacebookUserSignal>().To<LinkAndStoreFacebookUserCommand>();
- commandBinder.Bind<LinkUserToFacebookSignal>().To<LinkUserToFacebookCommand>();
- commandBinder.Bind<GetFacebookProfileSignal>().To<GetFacebookProfileCommand>();
- commandBinder.Bind<SaveOrUpdateDocumentByKeyValueSignal>().To<SaveOrUpdateDocumentByKeyValueCommand>();
- injectionBinder.Bind<ConnectionSignal>().ToSingleton();
- injectionBinder.Bind<SignUpFailSignal>().ToSingleton();
- injectionBinder.Bind<ShowInformationSignal>().ToSingleton();
- injectionBinder.Bind<UserLoggedInResultSignal>().ToSingleton();
- injectionBinder.Bind<LoadProfilePictureSignal>().ToSingleton();
- injectionBinder.Bind<FacebookInitializedSignal>().ToSingleton();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement