示例#1
0
        public FamicomDeck(IFamicomExpansion ExpSlot, LightgunDelegate PPUCallback)
        {
            Player3    = ExpSlot;
            Definition = ControllerDefinitionMerger.GetMerged(
                new[] { Player1.GetDefinition(), Player2.GetDefinition(), Player3.GetDefinition() }, out var cdum);
            Definition.BoolButtons.Add("P2 Microphone");
            Player1U = cdum[0];
            Player2U = cdum[1];
            Player3U = cdum[2];

            // hack
            if (Player3 is Zapper)
            {
                (Player3 as Zapper).PPUCallback = PPUCallback;
            }
        }
示例#2
0
 public IControllerDeck Instantiate(Func <int, int, bool> PPUCallback)
 {
     if (Famicom)
     {
         IFamicomExpansion exp = (IFamicomExpansion)Activator.CreateInstance(FamicomExpansions[FamicomExpPort]);
         IControllerDeck   ret = new FamicomDeck(exp, PPUCallback);
         return(ret);
     }
     else
     {
         INesPort        left  = (INesPort)Activator.CreateInstance(NesPortDevices[NesLeftPort]);
         INesPort        right = (INesPort)Activator.CreateInstance(NesPortDevices[NesRightPort]);
         IControllerDeck ret   = new NesDeck(left, right, PPUCallback);
         return(ret);
     }
 }
示例#3
0
        public FamicomDeck(IFamicomExpansion expSlot, LightgunDelegate ppuCallback)
        {
            _player3    = expSlot;
            _definition = ControllerDefinitionMerger.GetMerged(
                new[] { _player1.GetDefinition(), _player2.GetDefinition(), _player3.GetDefinition() }, out var cdum);
            _definition.BoolButtons.Add("P2 Microphone");
            _player1U = cdum[0];
            _player2U = cdum[1];
            _player3U = cdum[2];

            // hack
            if (_player3 is Zapper zapper)
            {
                zapper.PPUCallback = ppuCallback;
            }
        }
示例#4
0
        public FamicomDeck(IFamicomExpansion ExpSlot, Func <int, int, bool> PPUCallback)
        {
            Player3 = ExpSlot;
            List <ControlDefUnMerger> cdum;

            Definition = ControllerDefMerger.GetMerged(
                new[] { Player1.GetDefinition(), Player2.GetDefinition(), Player3.GetDefinition() }, out cdum);
            Definition.BoolButtons.Add("P2 Microphone");
            Player1U = cdum[0];
            Player2U = cdum[1];
            Player3U = cdum[2];

            // hack
            if (Player3 is Zapper)
            {
                (Player3 as Zapper).PPUCallback = PPUCallback;
            }
        }