public SwitchConfig(SwitchMapping switchMapping)
 {
     SwitchId         = switchMapping.Id;
     IsPulseSwitch    = false;
     IsNormallyClosed = switchMapping.IsNormallyClosed;
     PulseDelay       = switchMapping.PulseDelay;
 }
        public SwitchListData(SwitchMapping switchMapping)
        {
            Id             = switchMapping.Id;
            NormallyClosed = switchMapping.IsNormallyClosed;
            Description    = switchMapping.Description;
            Source         = switchMapping.Source;
            InputActionMap = switchMapping.InputActionMap;
            InputAction    = switchMapping.InputAction;
            Constant       = switchMapping.Constant;
            Device         = switchMapping.Device;
            if (string.IsNullOrEmpty(switchMapping.DeviceItem) && Device != null && Device.AvailableSwitches.Count() == 1)
            {
                DeviceItem = Device.AvailableSwitches.First().Id;
            }
            else
            {
                DeviceItem = switchMapping.DeviceItem;
            }

            PulseDelay = switchMapping.PulseDelay;

            SwitchMapping = switchMapping;
        }
Exemple #3
0
    // bomb generation (loading screen)
    public void Start()
    {
        moduleState = ModuleStateE.START;
        logger.DEBUG(string.Format("STATE:{0}", moduleState.ToString()));

        string seedStr = string.Format("{0}{1}", BombInfo.GetSerialNumber(), moduleId);

        byte[] seedBytes = new MD5CryptoServiceProvider().ComputeHash(ASCIIEncoding.ASCII.GetBytes(seedStr));
        int    seedInt   = System.BitConverter.ToInt32(seedBytes, 0);

        Random.InitState(seedInt);
        logger.DEBUG(string.Format("Seed: {0}", seedInt));

        BombModule.OnActivate += Activate;

        S1                       = new Switch(S1Obj, Switch.StateE.DOWN);
        S1Selectable             = S1Obj.GetComponent <KMSelectable>();
        S1Selectable.OnInteract += delegate() { HandleS1Interact(); return(false); };
        S2                       = new Switch(S2Obj, Switch.StateE.DOWN);
        S2Selectable             = S2Obj.GetComponent <KMSelectable>();
        S2Selectable.OnInteract += delegate() { HandleS2Interact(); return(false); };
        S3                       = new Switch(S3Obj, Switch.StateE.DOWN);
        S3Selectable             = S3Obj.GetComponent <KMSelectable>();
        S3Selectable.OnInteract += delegate() { HandleS3Interact(); return(false); };

        CS                       = new Selector(CSObj, Selector.StateE.LEFT);
        CSSelectable             = CSObj.GetComponent <KMSelectable>();
        CSSelectable.OnInteract += delegate() { HandleCSInteract(); return(false); };

        B                            = new Button(BObj);
        BSelectable                  = BObj.GetComponent <KMSelectable>();
        BSelectable.OnInteract      += delegate() { HandleBInteract(); return(false); };
        BSelectable.OnInteractEnded += delegate() { HandleBInteractEnded(); };

        S1Mapping = new SwitchStateMapping();
        logger.DEBUG(string.Format("S1 Mapping: {0}", S1Mapping.ToString()));
        S2Mapping = new SwitchStateMapping();
        logger.DEBUG(string.Format("S2 Mapping: {0}", S2Mapping.ToString()));
        S3Mapping = new SwitchStateMapping();
        logger.DEBUG(string.Format("S3 Mapping: {0}", S3Mapping.ToString()));

        switchMapping = new SwitchMapping();
        logger.DEBUG(string.Format("SwitchMapping: {0}", switchMapping.ToString()));

        inputSignal = new Signal();
        logger.DEBUG(string.Format("INPUT: {0}", inputSignal.ToString()));

        solutionSignalsNoStrikes  = new SolutionSignals(SolutionSignalsNoStrikesJson);
        solutionSignalsOneStrike  = new SolutionSignals(SolutionSignalsOneStrikeJson);
        solutionSignalsTwoStrikes = new SolutionSignals(SolutionSignalsTwoStrikesJson);

        Triple switchesMapped = switchMapping.Map(new Triple(S1Mapping.Map(S1.State), S2Mapping.Map(S2.State), S3Mapping.Map(S3.State)));

        generatorSignal = new Signal(
            (Signal.CoefficientE)switchesMapped.OBJ1,
            (Signal.CoefficientE)switchesMapped.OBJ2,
            (Signal.CoefficientE)switchesMapped.OBJ3);
        logger.DEBUG(string.Format("GENERATOR: {0}", generatorSignal.ToString()));

        scope = new Scope(scopeObj, (CS.State == Selector.StateE.LEFT) ? Scope.ChannelE.A : Scope.ChannelE.B, inputSignal, generatorSignal, false, SignalTextureOffsetsJson);
        GameInfo.OnLightsChange += HandleLightChange;
    }