/// <summary>
        /// コンストラクター(UnityMVC)
        /// </summary>
        public DepartmentController(ISessionManager sessionManager, IServiceProxy <IDepartmentService> departmentService)
        {
            _SessionManager    = sessionManager;
            _DepartmentService = departmentService;

            this._ControllerSupport = new ControllerSupport(this);
        }
 private void OnLoaded(object sender, RoutedEventArgs e)
 {
     _owner            = Window.GetWindow(this);
     _owner !.KeyDown += TrySwitchPage;
     ControllerSupport.SubscribeCustomInputs(ProcessCustomInputs);
     this.Loaded -= OnLoaded;
 }
Example #3
0
        /// <summary>
        /// コンストラクター(UnityMVC)
        /// </summary>
        public AttendanceTimeController(ISessionManager sessionManager, IServiceProxy <IAttendanceTimeService> attendanceTimeService)
        {
            _SessionManager        = sessionManager;
            _AttendanceTimeService = attendanceTimeService;

            this._ControllerSupport = new ControllerSupport(this);
        }
        /// <summary>
        /// コンストラクター(UnityMVC)
        /// </summary>
        /// <param name="sessionManager">セッションマネージャー</param>
        /// <param name="loginService">ログインサービス</param>
        public LoginController(ISessionManager sessionManager, IServiceProxy <ILoginService> loginService)
        {
            _SessionManager = sessionManager;
            _LoginService   = loginService;

            this._ControllerSupport = new ControllerSupport(this);
        }
Example #5
0
 void Awake()
 {
     contSupp    = FindObjectOfType <ControllerSupport>();
     devDetect   = FindObjectOfType <DeviceDetector>();
     heroAni     = GameObject.FindGameObjectWithTag("Hero").GetComponent <TD_SBF_HeroAnimator>();
     startColor  = GetComponent <SpriteRenderer>().color;
     tConts      = FindObjectOfType <TD_SBF_TouchControls>();
     towerPlacer = FindObjectOfType <TD_SBF_TowerPlacer>();
 }
Example #6
0
 public DownloadPackagesPage()
 {
     SwappedOut += Dispose;
     InitializeComponent();
     _cacheService = Lib.IoC.GetConstant <ImageCacheService>();
     ViewModel     = Lib.IoC.Get <DownloadPackagesViewModel>();
     ViewModel.SelectNextItem.AfterExecute += o => OpenPackagePreviewPage(SlideDirection.Right, SlideDirection.Left);
     ViewModel.SelectLastItem.AfterExecute += o => OpenPackagePreviewPage(SlideDirection.Left, SlideDirection.Right);
     ControllerSupport.SubscribeCustomInputs(ProcessEvents);
 }
    public AppSummaryPage(ApplicationViewModel appViewModel)
    {
        InitializeComponent();
        ViewModel = new ConfigureModsViewModel(appViewModel, Lib.IoC.Get <ModUserConfigService>());

        ControllerSupport.SubscribeCustomInputs(OnProcessCustomInputs);
        _manipulator            = new DictionaryResourceManipulator(this.Contents.Resources);
        _modsViewSource         = _manipulator.Get <CollectionViewSource>("FilteredMods");
        _modsViewSource.Filter += ModsViewSourceOnFilter;
        SwappedOut             += Dispose;
    }
    public void Dispose()
    {
        if (_isDisposed)
        {
            return;
        }

        _isDisposed = true;
        ControllerSupport.UnsubscribePreviewCustomInputs(SubscribePreviewCustomInputs);
        PreviewCarousel?.Dispose();
    }
Example #9
0
    public void Dispose()
    {
        if (_disposed)
        {
            return;
        }

        _disposed = true;
        ControllerSupport.UnsubscribeCustomInputs(ProcessEvents);
        ViewModel.Dispose();
    }
Example #10
0
 void Awake()
 {
     if (controller == null)
     {
         controller = this;
     }
     else if (controller != this)
     {
         Destroy(gameObject);
     }
     sr = GetComponent <SpriteRenderer>();
 }
    public void Dispose()
    {
        if (_disposed)
        {
            return;
        }

        _disposed = true;
        ControllerSupport.UnsubscribeCustomInputs(OnProcessCustomInputs);
        ViewModel?.Dispose();
        GC.SuppressFinalize(this);
    }
    public PackagePreviewPage(DownloadPackagePreviewViewModel viewModel, Action close, SlideDirection entryDirection)
    {
        SwappedOut     += Dispose;
        ViewModel       = viewModel;
        _entryDirection = entryDirection;
        _close          = close;
        InitializeComponent();
        this.AnimateInFinished             -= OnAnimateInFinished;
        PreviewCarousel.OnPageIndexChanged += WhenPageIndexChanged;
        ControllerSupport.SubscribePreviewCustomInputs(SubscribePreviewCustomInputs);

        // We need to explicitly set focus in case person changes page on controller without
        // moving the cursor, otherwise ListViewItem under this page might be re-selected, funny issue.
        this.AnimateInStarted += OnAnimateInStarted;
    }
Example #13
0
        public ControllerSupportResultInfo ShowControllerApplet(ControllerSupportArg controllerSupportArg, bool suspendUnityThreads)
        {
            // ControllerSupportResultInfo has two fields:
            // byte playerCount;  The number of players determined by controller support.
            // NpadId selectedId; The NpadIdType selected in single-player mode.
            var controllerSupportResultInfo = new ControllerSupportResultInfo();

            controllerSupportResultInfo.playerCount = 0;
            controllerSupportResultInfo.selectedId  = NpadId.Invalid;

#if !UNITY_EDITOR
            UnityEngine.Switch.Applet.Begin();
            ControllerSupport.Show(ref controllerSupportResultInfo, controllerSupportArg, suspendUnityThreads);
            UnityEngine.Switch.Applet.End();
#endif

            return(controllerSupportResultInfo);
        }
Example #14
0
        public ControllerSupportResultInfo ShowControllerApplet(bool suspendUnityThreads)
        {
            // See nn::hid::ControllerSupportArg::SetDefault() in the SDK documentation for details.
            var controllerSupportArg = new ControllerSupportArg();

            // Values below are the defaults set by this.
            controllerSupportArg.SetDefault();

            // The minimum number of players that will get wireless controller connections.
            // Must be set to 0 if you want to allow someone to play in handheld mode only.
            // Ignored in single-player mode.
            // controllerSupportArg.playerCountMin = 0;

            // The maximum number of players that will get wireless controller connections.
            // The maximum allowed value appears to be 4. Anything over that will cause a crash.
            // Ignored in single-player mode.
            // controllerSupportArg.playerCountMax = 4;

            // Specifies whether to maintain the connection of controllers that are already connected.
            // Specify false to disconnect all controllers.
            // controllerSupportArg.enableTakeOverConnection = true;

            // Specifies whether to left-justify the controller numbers when controller support is ended.
            // When false is specified, there may be gaps in controller numbers when controller support is ended.
            // Ignored in single-player mode.
            // controllerSupportArg.enableLeftJustify = true;

            // Specifies whether to permit actions when both controllers are being held in a dual-controller grip.
            // When false is specified, actions cannot be made when both controllers are being held in a dual-controller grip.
            // This is designed for times like during local communication when you want to prohibit the dual-controller grip.
            // controllerSupportArg.enablePermitJoyDual = true;

            // Specifies whether to start controller support in single-player mode.
            // Enable this if your game is single-player.
            // controllerSupportArg.enableSingleMode = false;

            // Specifies whether to use colors to identify the individual controller numbers shown in the controller support UI.
            // controllerSupportArg.enableIdentificationColor = false;

            // Specifies the colors to use to identify the individual controller numbers shown in the controller support UI.
            // If enableIdentificationColor is false, the values specified here will not be applied.
            // controllerSupportArg.identificationColor = new nn.util.Color4u8[4];

            // Specifies whether to use explanatory text for the individual controller numbers shown in the controller support UI.
            // controllerSupportArg.enableExplainText = false;

            // The text to use for the individual controller numbers shown in the controller support UI.
            // You can specify up to 32 characters.
            // If enableExplainText is false, the values specified here will not be applied.
            // Check how the text actually displays to make sure it is not too long and otherwise displays appropriately.
            // controllerSupportArg.explainText = new byte[ExplainTextSize];
            // This field is a private data blob and must be set with:
            // ControllerSupport.SetExplainText( ref controllerSupportArg, "Player 1", NpadId.No1 );

            controllerSupportArg.enableIdentificationColor = true;
            controllerSupportArg.identificationColor[0].Set(255, 100, 100, 255);
            controllerSupportArg.identificationColor[1].Set(100, 255, 100, 255);
            controllerSupportArg.identificationColor[2].Set(100, 100, 255, 255);
            controllerSupportArg.identificationColor[3].Set(255, 100, 255, 255);

            controllerSupportArg.enableExplainText = true;
            ControllerSupport.SetExplainText(ref controllerSupportArg, "Player 1", NpadId.No1);
            ControllerSupport.SetExplainText(ref controllerSupportArg, "Player 2", NpadId.No2);
            ControllerSupport.SetExplainText(ref controllerSupportArg, "Player 3", NpadId.No3);
            ControllerSupport.SetExplainText(ref controllerSupportArg, "Player 4", NpadId.No4);

            return(ShowControllerApplet(controllerSupportArg, suspendUnityThreads));
        }
    void createPlayers()
    {
        int numPlayers       = nvs.players.Count;
        ControllerSupport cs = currentView.GetComponent <ControllerSupport>() as ControllerSupport;

        cs.playerObjectList        = new GameObject[numPlayers];
        cs.playerBodyList          = new Renderer[numPlayers];
        cs.playerToControllerIndex = new int[numPlayers];

        GameObject[] playerCams = CameraManager.createSplitScreenCameras(numPlayers);
        GameObject[] ballCams   = CameraManager.createSplitScreenCameras(numPlayers);

        for (int i = 0; i < numPlayers; ++i)
        {
            PlayerInfo player = nvs.players[i] as PlayerInfo;

            GameObject playerContainer = new GameObject(player.name);
            playerContainer.transform.parent = currentView.transform;
            playerContainer.AddComponent <LocalBallMarker> ();
            GameObject playerCamera = playerCams[i];
            playerCamera.transform.parent = playerContainer.transform;
            player.cameraObject           = playerCamera;

            //Create cart for player
            GameObject cartObject = Instantiate(Resources.Load(player.cartModel), new Vector3(0, -100, 0), Quaternion.identity) as GameObject;
            cartObject.name             = "buggy";
            cartObject.transform.parent = playerContainer.transform;
            player.cartGameObject       = cartObject;
            //Create ball for player
            GameObject ballObject = Instantiate(Resources.Load(player.ballModel), new Vector3(0, -100, 0), Quaternion.identity) as GameObject;
            ballObject.name             = "hit_mode_ball";
            ballObject.transform.parent = playerContainer.transform;
            player.ballGameObject       = ballObject;
            //Create character for player
            GameObject characterObject = Instantiate(Resources.Load(player.characterModel)) as GameObject;
            characterObject.name                    = "player_character";
            characterObject.transform.parent        = cartObject.transform;
            characterObject.transform.localPosition = Vector3.zero + new Vector3(0, 0.3f, 0);
            characterObject.transform.localRotation = Quaternion.identity;
            player.characterGameObject              = characterObject;
            //Apply color
            RecolorPlayer.recolorPlayerBody(characterObject.transform.FindChild("body").GetComponent <Renderer>() as Renderer, player.color);
            if (i < 1)          //Only one audiolistener can exist
            {
                characterObject.AddComponent <AudioListener> ();
            }
            //Create camera for hit_ball; remove later
            GameObject hitBallCam = ballCams[i];
            hitBallCam.name = "hit_ball_camera";
            hitBallCam.SetActive(false);
            hitBallCam.transform.parent = ballObject.transform;

            //Add scripts to cart
            (cartObject.transform.GetComponent <CarUserControl>() as CarUserControl).enabled = true;
            Destroy(cartObject.transform.GetComponent <NetworkView>());

            TransferToSwing ts = cartObject.AddComponent <TransferToSwing>() as TransferToSwing;
            ts.ball = ballObject;

            ScriptToggler st = cartObject.AddComponent <ScriptToggler>() as ScriptToggler;
            st.scripts = new List <MonoBehaviour>();
            st.scripts.Add(cartObject.GetComponent <CarController>());
            st.scripts.Add(cartObject.GetComponent <CarUserControl>());
            st.scripts.Add(cartObject.GetComponent <TransferToSwing>());
            st.cameraObject = playerCamera;

            //Add scripts to ball
            InControlSwingMode ics = ballObject.AddComponent <InControlSwingMode>() as InControlSwingMode;
            ics.cameraObject = hitBallCam;
            ics.cart         = cartObject;
            ics.enabled      = false;

            PowerMeter pm = ballObject.AddComponent <PowerMeter>() as PowerMeter;
            pm.m_objectToCircle = ballObject;
            pm.m_markerPrefab   = Instantiate(Resources.Load("powerMeterPrefab")) as GameObject;
            pm.m_swingScript    = ics;
            pm.enabled          = false;

            ScriptToggler stb = ballObject.AddComponent <ScriptToggler>() as ScriptToggler;
            stb.scripts = new List <MonoBehaviour>();
            stb.scripts.Add(ics);
            stb.scripts.Add(pm);
            stb.cameraObject = hitBallCam;


            //controller support
            cs.playerObjectList[i]        = cartObject;
            cs.playerBodyList[i]          = characterObject.transform.FindChild("body").GetComponent <SkinnedMeshRenderer>();
            cs.playerToControllerIndex[i] = -1;                 //dummy value

            FollowPlayerScript fps = (playerCamera.AddComponent <FollowPlayerScript> () as FollowPlayerScript);
            fps.target = cartObject.transform;
        }
        (GameObject.Find("winningPole").gameObject.GetComponent <netWinCollider> () as netWinCollider).initialize();
        nvs.myInfo = nvs.players [0] as PlayerInfo;             //just so some of the network scripts work
        nvs.gameObject.AddComponent <netPause> ();
    }
 public void Dispose()
 {
     _owner !.KeyDown -= TrySwitchPage;
     ControllerSupport.UnsubscribeCustomInputs(ProcessCustomInputs);
     GC.SuppressFinalize(this);
 }