コード例 #1
0
ファイル: AmpelStub.cs プロジェクト: sanderch/Ampel
 public void Light(LightColor color1, LightColor color2)
 {
     Off();
     switch (color1)
     {
         case LightColor.Green:
             Green = true;
             break;
         case LightColor.Yellow:
             Yellow = true;
             break;
         case LightColor.Red:
             Red = true;
             break;
     }
     switch (color2)
     {
         case LightColor.Green:
             Green = true;
             break;
         case LightColor.Yellow:
             Yellow = true;
             break;
         case LightColor.Red:
             Red = true;
             break;
     }
 }
コード例 #2
0
ファイル: MapSky.cs プロジェクト: Linrasis/WoWEditor
        public Vector3 GetColor(LightColor color)
        {
            var idx = (int)color;
            if (idx < 0 || idx >= 18)
                return Vector3.Zero;

            return mColors[idx];
        }
コード例 #3
0
ファイル: DelcomV2Light.cs プロジェクト: thenathanjones/luces
 public void ChangeColor(LightColor color)
 {
     if (color != _lastColor)
     {
         SetColor(color);
         Thread.Sleep(FLASH_LENGTH);
         SetColor(_lastColor);
         Thread.Sleep(FLASH_LENGTH);
         SetColor(color);
         _lastColor = color;
     }
 }
コード例 #4
0
ファイル: Light.cs プロジェクト: stardawg/STL-Coding-Dojo
 public Light(int x, int y, LightCircuit circuit, LightColor color, LightShape shape)
 {
     Assembly assembly = Assembly.GetExecutingAssembly();
       string lightName = Enum.GetName(color.GetType(), color).ToLower();
       string resourceOn = string.Format("JamesAllen.XmasLights.Images.{0}_on.png", lightName);
       string resourceOff = string.Format("JamesAllen.XmasLights.Images.{0}_off.png", lightName);
       Stream streamOn = assembly.GetManifestResourceStream(resourceOn);
       Stream streamOff = assembly.GetManifestResourceStream(resourceOff);
       imageOn = (Image)Bitmap.FromStream(streamOn);
       imageOff = (Image)Bitmap.FromStream(streamOff);
       this.position = new Point(x, y);
       this.circuit = circuit;
       this.color = color;
       this.shape = shape;
 }
コード例 #5
0
 public void SetFlash(LightColor color)
 {
     if (color == LightColor.Off)
     {
         throw new ArgumentException("LightColor.Off is invalid");
     }
     LightControlRequest request = new LightControlRequest()
     {
         Color = color,
         Flash = true
     };
     lock (this.outstandingRequestLock)
     {
         outstandingRequest = request;
         outstandingRequestExist.Set();
         TraceVerbose.Trace("SetFlash({0}): request queued.", color);
     }
 }
コード例 #6
0
ファイル: MechJebAR202.cs プロジェクト: numerobis/MechJeb2
        void HandleLights()
        {
            if (greenLight == null || redLight == null) InitializeLights();

            if (core == null || MapView.MapIsEnabled)
            {
                litLight = LightColor.NEITHER;
            }
            else
            {
                bool somethingEnabled = false;
                if (vessel.GetMasterMechJeb() == core)
                {
                    foreach (DisplayModule display in core.GetComputerModules<DisplayModule>())
                    {
                        if (display is MechJebModuleMenu) continue;
                        if (display.enabled && display.showInCurrentScene)
                        {
                            somethingEnabled = true;
                        }
                    }
                }

                litLight = (somethingEnabled ? LightColor.GREEN : LightColor.RED);
            }

            switch (litLight)
            {
                case LightColor.GREEN:
                    if (!greenLight.enabled) TurnOnLight(LightColor.GREEN);
                    if (redLight.enabled) TurnOffLight(LightColor.RED);
                    break;

                case LightColor.RED:
                    if (greenLight.enabled) TurnOffLight(LightColor.GREEN);
                    if (!redLight.enabled) TurnOnLight(LightColor.RED);
                    break;

                case LightColor.NEITHER:
                    if (greenLight.enabled) TurnOffLight(LightColor.GREEN);
                    if (redLight.enabled) TurnOffLight(LightColor.RED);
                    break;
            }
        }
コード例 #7
0
 public void ChangeState()
 {
     this.colorState = (LightColor)(((int)this.colorState + 1) % Enum.GetNames(typeof(LightColor)).Length);
 }
コード例 #8
0
 public SecondsLampRow(int max, Func <int> p, LightColor color) : base(max, p, color)
 {
 }
コード例 #9
0
        public void Render(Camera camera, int depthMap, Matrix4 lightMatrix, Vector2 screenDimensions, bool drawShadow = false)
        {
            if (!Checked)
            {
                return;
            }

            Shader shader;

            // 3DS MBN
            shader = OpenTKSharedResources.shaders["Mbn"];
            shader.UseProgram();
            SetMbnUniforms(camera, shader);

            // Melee DAT
            shader = OpenTKSharedResources.shaders["Dat"];
            shader.UseProgram();
            SetDatUniforms(shader);

            if (BCH != null)
            {
                foreach (BCH_Model mo in BCH.Models.Nodes)
                {
                    mo.Render(camera.MvpMatrix);
                }
            }

            if (DatMelee != null && OpenTKSharedResources.shaders["Dat"].ProgramCreatedSuccessfully)
            {
                DatMelee.Render(camera.MvpMatrix);
            }

            LightColor diffuseColor = Runtime.lightSetParam.characterDiffuse.diffuseColor;
            LightColor ambientColor = Runtime.lightSetParam.characterDiffuse.ambientColor;

            if (KCL != null && OpenTKSharedResources.shaders["KCL"].ProgramCreatedSuccessfully)
            {
                shader = OpenTKSharedResources.shaders["KCL"];
                shader.UseProgram();

                shader.SetVector3("difLightColor", diffuseColor.R, diffuseColor.G, diffuseColor.B);
                shader.SetVector3("ambLightColor", ambientColor.R, ambientColor.G, ambientColor.B);

                KCL.Render(camera.MvpMatrix);
            }

            if (BFRES != null && OpenTKSharedResources.shaders["BFRES"].ProgramCreatedSuccessfully &&
                OpenTKSharedResources.shaders["BFRES_PBR"].ProgramCreatedSuccessfully)
            {
                if (Runtime.renderPhysicallyBasedRendering == true)
                {
                    shader = OpenTKSharedResources.shaders["BFRES_PBR"];
                }
                else
                {
                    shader = OpenTKSharedResources.shaders["BFRES"];
                }

                shader.UseProgram();

                shader.SetVector3("difLightColor", diffuseColor.R, diffuseColor.G, diffuseColor.B);
                shader.SetVector3("ambLightColor", ambientColor.R, ambientColor.G, ambientColor.B);

                Matrix4 invertedCamera = camera.MvpMatrix.Inverted();
                Vector3 lightDirection = new Vector3(0f, 0f, -1f);

                //Todo. Maybe change direction via AAMP file (configs shader data)
                shader.SetVector3("lightDirection", Vector3.TransformNormal(lightDirection, invertedCamera).Normalized());
                shader.SetVector3("specLightDirection", Vector3.TransformNormal(lightDirection, invertedCamera).Normalized());
                shader.SetVector3("difLightDirection", Vector3.TransformNormal(lightDirection, invertedCamera).Normalized());

                shader.SetInt("debugOption", (int)Runtime.uvChannel);

                // This cube map is for a quick test.
                shader.SetTexture("cmap", RenderTools.dummyTextures[NUD.DummyTextures.StageMapHigh].Id, TextureTarget.TextureCubeMap, 2);

                BFRES.Render(camera.MvpMatrix);
            }

            if (NUD != null && OpenTKSharedResources.shaders["Nud"].ProgramCreatedSuccessfully && OpenTKSharedResources.shaders["NudDebug"].ProgramCreatedSuccessfully)
            {
                // Choose the appropriate shader.
                if (drawShadow)
                {
                    shader = OpenTKSharedResources.shaders["Shadow"];
                }
                else if (Runtime.renderType != Runtime.RenderTypes.Shaded)
                {
                    shader = OpenTKSharedResources.shaders["NudDebug"];
                }
                else
                {
                    shader = OpenTKSharedResources.shaders["Nud"];
                }

                shader.UseProgram();

                // Matrices.
                Matrix4 lightMatrixRef = lightMatrix;
                shader.SetMatrix4x4("lightMatrix", ref lightMatrixRef);
                SetCameraMatrixUniforms(camera, shader);

                SetRenderSettingsUniforms(shader);
                SetLightingUniforms(shader, camera);

                shader.SetInt("renderType", (int)Runtime.renderType);
                shader.SetInt("debugOption", (int)Runtime.uvChannel);
                shader.SetBoolToInt("drawShadow", Runtime.drawModelShadow);

                shader.SetTexture("depthMap", depthMap, TextureTarget.Texture2D, 14);

                SetElapsedDirectUvTime(shader);

                NUD.Render(VBN, camera, drawShadow, Runtime.drawNudColorIdPass);
            }
        }
コード例 #10
0
 public TrafficLight(LightColor colorState)
 {
     this.currentColor = colorState;
 }
コード例 #11
0
    IEnumerator Lighting()
    {
        --countDown;

        if (countDown < 0)
        {
            switch (lightColor)
            {
            case LightColor.GREEN_LIGHT: {
                lightColor = LightColor.YELLOW_LIGHT;

                TurnOn(yellowLight);
                TurnOff(greenLight);

                countDown = yellowTime;

                break;
            }

            case LightColor.YELLOW_LIGHT: {
                lightColor = LightColor.RED_LIGHT;

                TurnOn(redLight);
                TurnOff(yellowLight);

                countDown = redTime;

                break;
            }

            case LightColor.RED_LIGHT: {
                lightColor = LightColor.GREEN_LIGHT;

                TurnOn(greenLight);
                TurnOff(redLight);

                countDown = greenTime;

                break;
            }

            default: {
                lightColor = LightColor.GREEN_LIGHT;

                TurnOff(redLight);
                TurnOff(yellowLight);
                TurnOn(greenLight);

                countDown = greenTime;

                break;
            }
            }
        }

        if (countDownText != null)
        {
            countDownText.text = countDown.ToString();
        }

        yield return(new WaitForSeconds(1));

        StartCoroutine(Lighting());
    }
コード例 #12
0
 /// <summary>
 /// Changes the color of the light
 /// </summary>
 public void painttoRed()
 {
     this.b = new SolidBrush(Color.Red);
     light  = LightColor.Red;
 }
コード例 #13
0
 public void paintgreen()
 {
     this.b = new SolidBrush(Color.Green);
     light  = LightColor.Green;
 }
コード例 #14
0
        /// <summary>
        /// 点亮
        /// </summary>
        /// <param name="lightId"></param>
        /// <param name="flash">闪烁</param>
        /// <returns></returns>
        public ErrorCode SetLight(int lightId, LightOnOffState onOff, LightColor color)
        {
            if (!lightSenders.ContainsKey(lightId))
            {
                if (OnError != null)
                {
                    OnError.BeginInvoke(null, "无效灯ID", null, null);
                }
                return(ErrorCode.灯控制_无效灯ID);
            }



            LightState cmd = LightState.OFF;

            switch (color)
            {
            case LightColor.RED:
                switch (onOff)
                {
                case LightOnOffState.ON:
                    cmd = LightState.ON_RED;
                    break;

                case LightOnOffState.BLINK:
                    cmd = LightState.BLINK_RED;
                    break;

                case LightOnOffState.OFF:
                    cmd = LightState.OFF;
                    break;
                }
                break;

            case LightColor.GREEN:
                switch (onOff)
                {
                case LightOnOffState.ON:
                    cmd = LightState.ON_GREEN;
                    break;

                case LightOnOffState.BLINK:
                    cmd = LightState.BLINK_GREEN;
                    break;

                case LightOnOffState.OFF:
                    cmd = LightState.OFF;
                    break;
                }
                break;
            }

            var client = lightSenders[lightId];
            int retry  = 3;

            while (!client.WriteAndCheckResponse(cmd))
            {
                retry--;
                if (retry == 0)
                {
                    string err = string.Format("Light({0}) Retry Send 3 Times Failed", lightId);
                    if (OnError != null)
                    {
                        OnError.BeginInvoke(null, err, null, null);
                    }
                    //3次重发超时异常
                    NLog.LogManager.GetCurrentClassLogger().Error(err);
                    return(ErrorCode.灯控制_发送灯后超时未收到应答);
                }
            }
            return(ErrorCode.成功);
        }
コード例 #15
0
 public static string DisplayClass(this LightColor color)
 {
     return(string.Format("light-display-{0}", color.DisplayName.ToLowerInvariant()));
 }
コード例 #16
0
 public void SetFlash(LightColor color)
 {
 }
コード例 #17
0
 public void SetSolid(LightColor color)
 {
 }
コード例 #18
0
        public static void switchEmissive(SmartSensorModuleBase baseM, Light light, bool state, LightColor color = LightColor.WHITE)
        {
            light.intensity = (state ? 1 : 0);
            light.enabled   = state;
            light.enabled   = true;
            light.range     = 0.25f;
            switch (color)
            {
            case LightColor.RED:
                light.color = new Color(1, 0, 0);
                break;

            case LightColor.GREEN:
                light.color = new Color(0, 1, 0);
                break;

            case LightColor.BLUE:
                light.color = new Color(0, 0, 1);
                break;

            case LightColor.WHITE:
                light.color = new Color(1, 1, 1);
                break;
            }
        }
コード例 #19
0
 public TrafficLight(LightColor light)
 {
     this.Light       = light;
     this.lightsCount = Enum.GetNames(typeof(LightColor)).Length;
 }
コード例 #20
0
 private void RenderCharacterLightGradient(LightColor topColor, LightColor bottomColor)
 {
     DrawGradient(new Vector3(topColor.R, topColor.G, topColor.B), new Vector3(bottomColor.R, bottomColor.G, bottomColor.B));
 }
コード例 #21
0
ファイル: LightBridge.cs プロジェクト: Overv/TrayLightControl
 /// <summary>
 /// Change the color of a group of lights.
 /// </summary>
 /// <remarks>
 /// This will automatically turn on the group of lights.
 /// </remarks>
 /// <param name="group">Group id.</param>
 /// <param name="color">Color.</param>
 public void SetLightColor(int group, LightColor color) {
     SetLightState(group, true);
     SendCommand(new byte[] { 0x40, (byte) color });
 }
コード例 #22
0
ファイル: Light.cs プロジェクト: polytronicgr/FlightSimulator
 public static Light Ambience(LightColor brightness_0)
 {
     return(new Light("AMBIENCE", brightness_0, null));
 }
コード例 #23
0
ファイル: ColorLight.cs プロジェクト: Tacconi/ProgettiVari
 public ColorLight(LightColor light, SoundType sound, object ellipse)
 {
     Light = light;
     Sound = sound;
     Ellispe = ellipse;
 }
コード例 #24
0
ファイル: Light.cs プロジェクト: polytronicgr/FlightSimulator
 public static Light Parallel(LightColor brightness_0, Vector3D direction_1)
 {
     return(new Light("PARALLEL", brightness_0, direction_1));
 }
コード例 #25
0
ファイル: MechJebAR202.cs プロジェクト: numerobis/MechJeb2
        void TurnOffLight(LightColor which)
        {
            switch (which)
            {
                case LightColor.GREEN:
                    if (greenLightTransform != null)
                    {
                        greenLightTransform.renderer.material.shader = originalLensShader;
                        greenLightTransform.renderer.material.color = originalLensColor;
                        greenLight.enabled = false;
                    }
                    break;

                case LightColor.RED:
                    if (redLightTransform != null)
                    {
                        redLightTransform.renderer.material.shader = originalLensShader;
                        redLightTransform.renderer.material.color = originalLensColor;
                        redLight.enabled = false;
                    }
                    break;
            }
        }
コード例 #26
0
ファイル: Light.cs プロジェクト: polytronicgr/FlightSimulator
 public static Light Point(LightColor brightness_0, Vector3D position_1)
 {
     return(new Light("POINT", brightness_0, position_1));
 }
コード例 #27
0
 public void SetSolid(LightColor color)
 {
 }
コード例 #28
0
        Segment GetHello()
        {
            const int IntroPeriod  = 3000;
            const int IntroFade    = 1000;
            const int RandomTime   = 5500;
            const int RandomPeriod = 1200;
            const int RandomFade   = 800;
            const int ResolveTime  = 23000;
            const int ResolveFade  = 3000;
            const int DissolveTime = 31000;
            const int DissolveFade = 2000;

            const string HeaderHelloLights = "2,1/2,2/2,3/2,4/2,5/3,1/3,2/3,3/3,4/3,5/4,3/5,3/6,1/6,2/6,3/6,4/6,5/7,1/7,2/7,3/7,4/7,5/9,1/9,2/9,3/9,4/9,5/10,1/10,2/10,3/10,4/10,5/11,1/11,3/11,5/12,1/12,3/12,5/14,1/14,2/14,3/14,4/14,5/15,1/15,2/15,3/15,4/15,5/16,5/17,5/19,1/19,2/19,3/19,4/19,5/20,1/20,2/20,3/20,4/20,5/21,5/22,5/24,2/24,3/24,4/25,1/25,2/25,3/25,4/25,5/26,1/26,5/27,1/27,5/28,1/28,2/28,3/28,4/28,5/29,2/29,3/29,4";
            const string BodyHelloLights   =
                "0,0/1,0/2,0/3,0/4,0/5,0/6,0/7,0/8,0/9,0/10,0/11,0/12,0/13,0/14,0/15,0/16,0/17,0/18,0/19,0/20,0/38,0/39,0/40,0/41,0/42,0/43,0/44,0/45,0/46,0/47,0/48,0/49,0/50,0/51,0/52,0/53,0/54,0/55,0/56,0/57,0/58,0/76,0/77,0/78,0/79,0/80,0/81,0/82,0/83,0/84,0/85,0/86,0/87,0/88,0/89,0/90,0/91,0/92,0/93,0/94,0/95,0/96,0/0,1/1,1/2,1/3,1/4,1/5,1/6,1/7,1/8,1/9,1/10,1/11,1/12,1/13,1/14,1/15,1/16,1/17,1/18,1/19,1/20,1/38,1/39,1/40,1/41,1/42,1/43,1/44,1/45,1/46,1/47,1/48,1/49,1/50,1/51,1/52,1/53,1/54,1/55,1/56,1/57,1/" +
                "58,1/76,1/77,1/78,1/79,1/80,1/81,1/82,1/83,1/84,1/85,1/86,1/87,1/88,1/89,1/90,1/91,1/92,1/93,1/94,1/95,1/96,1/0,2/1,2/19,2/20,2/38,2/39,2/57,2/58,2/76,2/77,2/95,2/96,2/0,3/1,3/19,3/20,3/38,3/39,3/57,3/58,3/76,3/77,3/95,3/96,3/0,4/1,4/19,4/20,4/38,4/39,4/57,4/58,4/76,4/77,4/95,4/96,4/0,5/1,5/19,5/20,5/38,5/39,5/57,5/58,5/76,5/77,5/95,5/96,5/0,6/1,6/19,6/20,6/38,6/39,6/57,6/58,6/76,6/77,6/95,6/96,6/0,7/1,7/19,7/20,7/38,7/39,7/57,7/58,7/76,7/77,7/95,7/96,7/0,8/1,8/19,8/20,8/38,8/39,8/57,8/58,8/76,8" +
                "/77,8/95,8/96,8/0,9/1,9/19,9/20,9/38,9/39,9/57,9/58,9/76,9/77,9/95,9/96,9/0,10/1,10/19,10/20,10/38,10/39,10/57,10/58,10/76,10/77,10/95,10/96,10/0,11/1,11/19,11/20,11/38,11/39,11/57,11/58,11/76,11/77,11/95,11/96,11/0,12/1,12/19,12/20,12/38,12/39,12/57,12/58,12/76,12/77,12/95,12/96,12/0,13/1,13/19,13/20,13/38,13/39,13/57,13/58,13/76,13/77,13/95,13/96,13/0,14/1,14/19,14/20,14/38,14/39,14/57,14/58,14/76,14/77,14/95,14/96,14/0,15/1,15/19,15/20,15/38,15/39,15/57,15/58,15/76,15/77,15/95,15/96,15/0,16/1" +
                ",16/19,16/20,16/38,16/39,16/57,16/58,16/76,16/77,16/95,16/96,16/0,17/1,17/19,17/20,17/38,17/39,17/57,17/58,17/76,17/77,17/95,17/96,17/0,18/1,18/19,18/20,18/38,18/39,18/57,18/58,18/76,18/77,18/95,18/96,18/0,19/1,19/19,19/20,19/38,19/39,19/57,19/58,19/76,19/77,19/95,19/96,19/0,20/1,20/19,20/20,20/38,20/39,20/57,20/58,20/76,20/77,20/95,20/96,20/0,21/1,21/19,21/20,21/38,21/39,21/57,21/58,21/76,21/77,21/95,21/96,21/0,22/1,22/19,22/20,22/38,22/39,22/57,22/58,22/76,22/77,22/95,22/96,22/0,23/1,23/19,23/" +
                "20,23/38,23/39,23/57,23/58,23/76,23/77,23/95,23/96,23/0,24/1,24/19,24/20,24/38,24/39,24/57,24/58,24/76,24/77,24/95,24/96,24/0,25/1,25/19,25/20,25/38,25/39,25/57,25/58,25/76,25/77,25/95,25/96,25/0,26/1,26/19,26/20,26/38,26/39,26/57,26/58,26/76,26/77,26/95,26/96,26/0,27/1,27/19,27/20,27/38,27/39,27/57,27/58,27/76,27/77,27/95,27/96,27/0,28/1,28/19,28/20,28/38,28/39,28/57,28/58,28/76,28/77,28/95,28/96,28/0,29/1,29/19,29/20,29/38,29/39,29/57,29/58,29/76,29/77,29/95,29/96,29/0,30/1,30/19,30/20,30/38,3" +
                "0/39,30/57,30/58,30/76,30/77,30/95,30/96,30/0,31/1,31/19,31/20,31/38,31/39,31/57,31/58,31/76,31/77,31/95,31/96,31/0,32/1,32/19,32/20,32/38,32/39,32/57,32/58,32/76,32/77,32/95,32/96,32/0,33/1,33/19,33/20,33/38,33/39,33/57,33/58,33/76,33/77,33/95,33/96,33/0,34/1,34/19,34/20,34/38,34/39,34/57,34/58,34/76,34/77,34/95,34/96,34/0,35/1,35/19,35/20,35/38,35/39,35/57,35/58,35/76,35/77,35/95,35/96,35/0,36/1,36/19,36/20,36/38,36/39,36/57,36/58,36/76,36/77,36/95,36/96,36/0,37/1,37/19,37/20,37/38,37/39,37/57" +
                ",37/58,37/76,37/77,37/95,37/96,37/0,38/1,38/19,38/20,38/21,38/22,38/23,38/24,38/25,38/26,38/27,38/28,38/29,38/30,38/31,38/32,38/33,38/34,38/35,38/36,38/37,38/38,38/39,38/57,38/58,38/76,38/77,38/95,38/96,38/0,39/1,39/19,39/20,39/21,39/22,39/23,39/24,39/25,39/26,39/27,39/28,39/29,39/30,39/31,39/32,39/33,39/34,39/35,39/36,39/37,39/38,39/39,39/57,39/58,39/76,39/77,39/95,39/96,39/0,40/1,40/57,40/58,40/76,40/77,40/95,40/96,40/0,41/1,41/57,41/58,41/76,41/77,41/95,41/96,41/0,42/1,42/57,42/58,42/76,42/77" +
                ",42/95,42/96,42/0,43/1,43/57,43/58,43/76,43/77,43/95,43/96,43/0,44/1,44/57,44/58,44/76,44/77,44/95,44/96,44/0,45/1,45/57,45/58,45/76,45/77,45/95,45/96,45/0,46/1,46/57,46/58,46/76,46/77,46/95,46/96,46/0,47/1,47/57,47/58,47/76,47/77,47/95,47/96,47/0,48/1,48/57,48/58,48/76,48/77,48/95,48/96,48/0,49/1,49/57,49/58,49/76,49/77,49/95,49/96,49/0,50/1,50/57,50/58,50/76,50/77,50/95,50/96,50/0,51/1,51/57,51/58,51/76,51/77,51/95,51/96,51/0,52/1,52/57,52/58,52/76,52/77,52/95,52/96,52/0,53/1,53/57,53/58,53/76" +
                ",53/77,53/95,53/96,53/0,54/1,54/57,54/58,54/76,54/77,54/95,54/96,54/0,55/1,55/57,55/58,55/76,55/77,55/95,55/96,55/0,56/1,56/57,56/58,56/76,56/77,56/95,56/96,56/0,57/1,57/19,57/20,57/21,57/22,57/23,57/24,57/25,57/26,57/27,57/28,57/29,57/30,57/31,57/32,57/33,57/34,57/35,57/36,57/37,57/38,57/39,57/57,57/58,57/76,57/77,57/95,57/96,57/0,58/1,58/19,58/20,58/21,58/22,58/23,58/24,58/25,58/26,58/27,58/28,58/29,58/30,58/31,58/32,58/33,58/34,58/35,58/36,58/37,58/38,58/39,58/57,58/58,58/76,58/77,58/95,58/96" +
                ",58/0,59/1,59/19,59/20,59/38,59/39,59/57,59/58,59/76,59/77,59/95,59/96,59/0,60/1,60/19,60/20,60/38,60/39,60/57,60/58,60/76,60/77,60/95,60/96,60/0,61/1,61/19,61/20,61/38,61/39,61/57,61/58,61/76,61/77,61/95,61/96,61/0,62/1,62/19,62/20,62/38,62/39,62/57,62/58,62/76,62/77,62/95,62/96,62/0,63/1,63/19,63/20,63/38,63/39,63/57,63/58,63/76,63/77,63/95,63/96,63/0,64/1,64/19,64/20,64/38,64/39,64/57,64/58,64/76,64/77,64/95,64/96,64/0,65/1,65/19,65/20,65/38,65/39,65/57,65/58,65/76,65/77,65/95,65/96,65/0,66/1" +
                ",66/19,66/20,66/38,66/39,66/57,66/58,66/76,66/77,66/95,66/96,66/0,67/1,67/19,67/20,67/38,67/39,67/57,67/58,67/76,67/77,67/95,67/96,67/0,68/1,68/19,68/20,68/38,68/39,68/57,68/58,68/76,68/77,68/95,68/96,68/0,69/1,69/19,69/20,69/38,69/39,69/57,69/58,69/76,69/77,69/95,69/96,69/0,70/1,70/19,70/20,70/38,70/39,70/57,70/58,70/76,70/77,70/95,70/96,70/0,71/1,71/19,71/20,71/38,71/39,71/57,71/58,71/76,71/77,71/95,71/96,71/0,72/1,72/19,72/20,72/38,72/39,72/57,72/58,72/76,72/77,72/95,72/96,72/0,73/1,73/19,73/" +
                "20,73/38,73/39,73/57,73/58,73/76,73/77,73/95,73/96,73/0,74/1,74/19,74/20,74/38,74/39,74/57,74/58,74/76,74/77,74/95,74/96,74/0,75/1,75/19,75/20,75/38,75/39,75/57,75/58,75/76,75/77,75/95,75/96,75/0,76/1,76/19,76/20,76/38,76/39,76/57,76/58,76/76,76/77,76/95,76/96,76/0,77/1,77/19,77/20,77/38,77/39,77/57,77/58,77/76,77/77,77/95,77/96,77/0,78/1,78/19,78/20,78/38,78/39,78/57,78/58,78/76,78/77,78/95,78/96,78/0,79/1,79/19,79/20,79/38,79/39,79/57,79/58,79/76,79/77,79/95,79/96,79/0,80/1,80/19,80/20,80/38,8" +
                "0/39,80/57,80/58,80/76,80/77,80/95,80/96,80/0,81/1,81/19,81/20,81/38,81/39,81/57,81/58,81/76,81/77,81/95,81/96,81/0,82/1,82/19,82/20,82/38,82/39,82/57,82/58,82/76,82/77,82/95,82/96,82/0,83/1,83/19,83/20,83/38,83/39,83/57,83/58,83/76,83/77,83/95,83/96,83/0,84/1,84/19,84/20,84/38,84/39,84/57,84/58,84/76,84/77,84/95,84/96,84/0,85/1,85/19,85/20,85/38,85/39,85/57,85/58,85/76,85/77,85/95,85/96,85/0,86/1,86/19,86/20,86/38,86/39,86/57,86/58,86/76,86/77,86/95,86/96,86/0,87/1,87/19,87/20,87/38,87/39,87/57" +
                ",87/58,87/76,87/77,87/95,87/96,87/0,88/1,88/19,88/20,88/38,88/39,88/57,88/58,88/76,88/77,88/95,88/96,88/0,89/1,89/19,89/20,89/38,89/39,89/57,89/58,89/76,89/77,89/95,89/96,89/0,90/1,90/19,90/20,90/38,90/39,90/57,90/58,90/76,90/77,90/95,90/96,90/0,91/1,91/19,91/20,91/38,91/39,91/57,91/58,91/76,91/77,91/95,91/96,91/0,92/1,92/19,92/20,92/38,92/39,92/57,92/58,92/76,92/77,92/95,92/96,92/0,93/1,93/19,93/20,93/38,93/39,93/57,93/58,93/76,93/77,93/95,93/96,93/0,94/1,94/19,94/20,94/38,94/39,94/57,94/58,94/" +
                "76,94/77,94/95,94/96,94/0,95/1,95/2,95/3,95/4,95/5,95/6,95/7,95/8,95/9,95/10,95/11,95/12,95/13,95/14,95/15,95/16,95/17,95/18,95/19,95/20,95/38,95/39,95/40,95/41,95/42,95/43,95/44,95/45,95/46,95/47,95/48,95/49,95/50,95/51,95/52,95/53,95/54,95/55,95/56,95/57,95/58,95/76,95/77,95/78,95/79,95/80,95/81,95/82,95/83,95/84,95/85,95/86,95/87,95/88,95/89,95/90,95/91,95/92,95/93,95/94,95/95,95/96,95/0,96/1,96/2,96/3,96/4,96/5,96/6,96/7,96/8,96/9,96/10,96/11,96/12,96/13,96/14,96/15,96/16,96/17,96/18,96/19,9" +
                "6/20,96/38,96/39,96/40,96/41,96/42,96/43,96/44,96/45,96/46,96/47,96/48,96/49,96/50,96/51,96/52,96/53,96/54,96/55,96/56,96/57,96/58,96/76,96/77,96/78,96/79,96/80,96/81,96/82,96/83,96/84,96/85,96/86,96/87,96/88,96/89,96/90,96/91,96/92,96/93,96/94,96/95,96/96,96";

            var headerLayout = new Layout("Shelfinator.Creator.Songs.Layout.Layout-Header.png");
            var bodyLayout   = new Layout("Shelfinator.Creator.Songs.Layout.Layout-Body.png");
            var rand         = new Random(0xc0c0a);

            var points = new List <Tuple <Point, Layout> >();

            points.AddRange(HeaderHelloLights.Split('/').Select(p => Point.Parse(p)).Select(p => Tuple.Create(p, headerLayout)));
            points.AddRange(BodyHelloLights.Split('/').Select(p => Point.Parse(p)).Select(p => Tuple.Create(p, bodyLayout)));
            points = points.OrderBy(p => rand.Next()).ToList();

            var centers = new Dictionary <Layout, Point>
            {
                [headerLayout] = new Point(15.5, 3.5),
                [bodyLayout]   = new Point(48, 48),
            };

            var minDist = new Dictionary <Layout, double>
            {
                [headerLayout] = 0.707106781186548,
                [bodyLayout]   = 9,
            };

            var spread = new Dictionary <Layout, double>
            {
                [headerLayout] = 15.1831418008842,
                [bodyLayout]   = 58.8822509939086,
            };

            var segment = new Segment();

            var colors = Helpers.Rainbow6;
            var color  = new LightColor(0, 1000, colors);

            var fadeOut = DissolveTime;

            foreach (var point in points)
            {
                var center = centers[point.Item2];
                var light  = point.Item2.GetPositionLight(point.Item1);
                var dist   = ((point.Item1 - center).Length - minDist[point.Item2]) / spread[point.Item2];

                // Initial white fade in
                var time = (dist * (IntroPeriod - IntroFade)).Round();
                segment.AddLight(light, time, time + IntroFade, null, 0, 0x101010);

                // Random colors in the middle
                time = RandomTime + rand.Next(RandomPeriod);
                var curColor = -1;
                while (time < ResolveTime)
                {
                    ++curColor;
                    while (true)
                    {
                        var nextColor = rand.Next(colors.Count);
                        if (nextColor == curColor)
                        {
                            continue;
                        }
                        curColor = nextColor;
                        break;
                    }
                    segment.AddLight(light, time, time + RandomFade, null, 0, colors[curColor]);
                    time += RandomPeriod;
                }

                // Circle colors at end
                segment.AddLight(light, ResolveTime - ResolveFade, ResolveTime, null, 0, color, 1000 - (dist * 1000).Round());

                // Dissolve
                segment.AddLight(light, fadeOut, 0x000000);

                fadeOut += DissolveFade / points.Count;
            }

            return(segment);
        }
コード例 #29
0
    public void ChangeColor()
    {
        this.currentColor++;

        this.currentColor = (int)this.currentColor > 2 ? 0 : this.currentColor;
    }
コード例 #30
0
ファイル: ShaderTools.cs プロジェクト: thuskey/Smash-Forge
 public static void LightColorVector3Uniform(Shader shader, LightColor color, string name)
 {
     // Not declared in the Shader class to make the Shader class more portable.
     shader.SetVector3(name, color.R, color.G, color.B);
 }
コード例 #31
0
        void HandleLights()
        {
            if (core == null || MapView.MapIsEnabled)
            {
                litLight = LightColor.NEITHER;
            }
            else
            {
                bool somethingEnabled = false;
                if (vessel.GetMasterMechJeb() == core)
                {
                    foreach (DisplayModule display in core.GetComputerModules <DisplayModule>())
                    {
                        if (display is MechJebModuleMenu)
                        {
                            continue;
                        }
                        if (display.enabled && display.showInCurrentScene)
                        {
                            somethingEnabled = true;
                        }
                    }
                }

                litLight = (somethingEnabled ? LightColor.GREEN : LightColor.RED);
            }

            switch (litLight)
            {
            case LightColor.GREEN:
                if (!greenLight.enabled)
                {
                    TurnOnLight(LightColor.GREEN);
                }
                if (redLight.enabled)
                {
                    TurnOffLight(LightColor.RED);
                }
                break;

            case LightColor.RED:
                if (greenLight.enabled)
                {
                    TurnOffLight(LightColor.GREEN);
                }
                if (!redLight.enabled)
                {
                    TurnOnLight(LightColor.RED);
                }
                break;

            case LightColor.NEITHER:
                if (greenLight.enabled)
                {
                    TurnOffLight(LightColor.GREEN);
                }
                if (redLight.enabled)
                {
                    TurnOffLight(LightColor.RED);
                }
                break;
            }
        }
コード例 #32
0
		List<Segment> MoveSquares()
		{
			var movePhase = new List<List<int>>
			{
				new List<int> { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
				new List<int> { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
			};

			var result = new List<Segment>();
			var phases = new List<List<MoveSquaresItem>> { new List<MoveSquaresItem>(), new List<MoveSquaresItem>() };

			MoveSquaresAddPoints(phases, new Point(0, 0), new Point(19, 19), new Point(38, 38), new Size(19, 1), true);
			MoveSquaresAddPoints(phases, new Point(20, 0), new Point(20, 19), new Point(39, 38), new Size(18, 1), true);
			MoveSquaresAddPoints(phases, new Point(39, 0), new Point(39, 19), new Point(39, 38), new Size(18, 1), true);
			MoveSquaresAddPoints(phases, new Point(58, 0), new Point(58, 19), new Point(39, 38), new Size(18, 1), true);
			MoveSquaresAddPoints(phases, new Point(77, 0), new Point(58, 19), new Point(39, 38), new Size(19, 1), true);
			MoveSquaresAddPoints(phases, new Point(0, 95), new Point(19, 76), new Point(38, 57), new Size(19, 1), true);
			MoveSquaresAddPoints(phases, new Point(20, 95), new Point(20, 76), new Point(39, 57), new Size(18, 1), true);
			MoveSquaresAddPoints(phases, new Point(39, 95), new Point(39, 76), new Point(39, 57), new Size(18, 1), true);
			MoveSquaresAddPoints(phases, new Point(58, 95), new Point(58, 76), new Point(39, 57), new Size(18, 1), true);
			MoveSquaresAddPoints(phases, new Point(77, 95), new Point(58, 76), new Point(39, 57), new Size(19, 1), true);
			MoveSquaresAddPoints(phases, new Point(0, 0), new Point(19, 19), new Point(38, 38), new Size(1, 19), false);
			MoveSquaresAddPoints(phases, new Point(0, 20), new Point(19, 20), new Point(38, 39), new Size(1, 18), false);
			MoveSquaresAddPoints(phases, new Point(0, 39), new Point(19, 39), new Point(38, 39), new Size(1, 18), false);
			MoveSquaresAddPoints(phases, new Point(0, 58), new Point(19, 58), new Point(38, 39), new Size(1, 18), false);
			MoveSquaresAddPoints(phases, new Point(0, 77), new Point(19, 58), new Point(38, 39), new Size(1, 19), false);
			MoveSquaresAddPoints(phases, new Point(95, 0), new Point(76, 19), new Point(57, 38), new Size(1, 19), false);
			MoveSquaresAddPoints(phases, new Point(95, 20), new Point(76, 20), new Point(57, 39), new Size(1, 18), false);
			MoveSquaresAddPoints(phases, new Point(95, 39), new Point(76, 39), new Point(57, 39), new Size(1, 18), false);
			MoveSquaresAddPoints(phases, new Point(95, 58), new Point(76, 58), new Point(57, 39), new Size(1, 18), false);
			MoveSquaresAddPoints(phases, new Point(95, 77), new Point(76, 58), new Point(57, 39), new Size(1, 19), false);

			var color = new LightColor(
				new List<int> { 0x101010 },
				new List<int> { 0x0a0604 },
				new List<int> { 0x0c0403 },
				new List<int> { 0x0d060d },
				new List<int> { 0x010d03 },
				new List<int> { 0x030b10 },
				new List<int> { 0x100b00 },
				new List<int> { 0x100e0d }
			);

			for (var phase = 0; phase < phases.Count; phase++)
			{
				var segment = new Segment();
				var time = 0;
				while (true)
				{
					var done = true;
					foreach (var point in phases[phase])
					{
						if (!point.Done)
							done = false;

						var lights = bodyLayout.GetPositionLights(point.position, 2, 2);
						foreach (var light in lights)
						{
							segment.AddLight(light, time, color, 0);
							segment.AddLight(light, time + 1, 0x000000);
						}
						point.Move(movePhase[phase]);
					}
					++time;

					if (done)
						break;
				}

				result.Add(segment);
			}

			return result;
		}
コード例 #33
0
 public TrafficLight(LightColor colorState)
 {
     this.colorState = colorState;
 }
コード例 #34
0
		Segment RainbowSquare()
		{
			var segment = new Segment();
			var color = new LightColor(0, 192,
				new List<int> { 0x000010, 0x000004, 0x000004, 0x000010, 0x000004, 0x000004, 0x000010 },
				new List<int> { 0x100000, 0x001000, 0x100000, 0x001000, 0x100000, 0x001000, 0x100000, 0x001000, 0x100000 },
				new List<int> { 0x100010, 0x001010, 0x100010, 0x001010, 0x100010, 0x001010, 0x100010, 0x001010, 0x100010 },
				Helpers.Rainbow6.Concat(Helpers.Rainbow6).Concat(Helpers.Rainbow6.Take(1)).ToList()
			);
			for (var ctr = 0; ctr < 97; ++ctr)
			{
				foreach (var light in bodyLayout.GetPositionLights(19, ctr, 2, 1))
					segment.AddLight(light, 0, 1000, color, ctr, color, ctr + 96, true);
				foreach (var light in bodyLayout.GetPositionLights(ctr, 19, 1, 2))
					segment.AddLight(light, 0, 1000, color, ctr, color, ctr + 96, true);
				foreach (var light in bodyLayout.GetPositionLights(76, 96 - ctr, 2, 1))
					segment.AddLight(light, 0, 1000, color, ctr, color, ctr + 96, true);
				foreach (var light in bodyLayout.GetPositionLights(96 - ctr, 76, 1, 2))
					segment.AddLight(light, 0, 1000, color, ctr, color, ctr + 96, true);

				if (((ctr < 17) || (ctr >= 23)) && ((ctr < 74) || (ctr >= 80)))
				{
					foreach (var light in bodyLayout.GetPositionLights(96 - ctr, 0, 1, 2))
						segment.AddLight(light, 0, 1000, color, ctr, color, ctr + 96, true);
					foreach (var light in bodyLayout.GetPositionLights(0, 96 - ctr, 2, 1))
						segment.AddLight(light, 0, 1000, color, ctr, color, ctr + 96, true);
					foreach (var light in bodyLayout.GetPositionLights(ctr, 95, 1, 2))
						segment.AddLight(light, 0, 1000, color, ctr, color, ctr + 96, true);
					foreach (var light in bodyLayout.GetPositionLights(95, ctr, 2, 1))
						segment.AddLight(light, 0, 1000, color, ctr, color, ctr + 96, true);
				}

				if ((ctr >= 23) && (ctr < 74))
				{
					foreach (var light in bodyLayout.GetPositionLights(38, 96 - ctr, 2, 1))
						segment.AddLight(light, 0, 1000, color, ctr, color, ctr + 96, true);
					foreach (var light in bodyLayout.GetPositionLights(96 - ctr, 38, 1, 2))
						segment.AddLight(light, 0, 1000, color, ctr, color, ctr + 96, true);
					foreach (var light in bodyLayout.GetPositionLights(57, ctr, 2, 1))
						segment.AddLight(light, 0, 1000, color, ctr, color, ctr + 96, true);
					foreach (var light in bodyLayout.GetPositionLights(ctr, 57, 1, 2))
						segment.AddLight(light, 0, 1000, color, ctr, color, ctr + 96, true);
				}

				if (ctr < 17)
				{
					foreach (var light in bodyLayout.GetPositionLights(ctr, 38, 1, 2))
						segment.AddLight(light, 0, 1000, color, ctr + 57, color, ctr + 96 + 57, true);
					foreach (var light in bodyLayout.GetPositionLights(ctr, 57, 1, 2))
						segment.AddLight(light, 0, 1000, color, ctr + 38, color, ctr + 96 + 38, true);
					foreach (var light in bodyLayout.GetPositionLights(96 - ctr, 38, 1, 2))
						segment.AddLight(light, 0, 1000, color, ctr + 38, color, ctr + 96 + 38, true);
					foreach (var light in bodyLayout.GetPositionLights(96 - ctr, 57, 1, 2))
						segment.AddLight(light, 0, 1000, color, ctr + 57, color, ctr + 96 + 57, true);
					foreach (var light in bodyLayout.GetPositionLights(38, ctr, 2, 1))
						segment.AddLight(light, 0, 1000, color, ctr + 57, color, ctr + 96 + 57, true);
					foreach (var light in bodyLayout.GetPositionLights(57, ctr, 2, 1))
						segment.AddLight(light, 0, 1000, color, ctr + 38, color, ctr + 96 + 38, true);
					foreach (var light in bodyLayout.GetPositionLights(38, 96 - ctr, 2, 1))
						segment.AddLight(light, 0, 1000, color, ctr + 38, color, ctr + 96 + 38, true);
					foreach (var light in bodyLayout.GetPositionLights(57, 96 - ctr, 2, 1))
						segment.AddLight(light, 0, 1000, color, ctr + 57, color, ctr + 96 + 57, true);
				}
			}

			return segment;
		}
コード例 #35
0
 public override string ToString()
 {
     return($"new PokemonData({PokedexID}, \"{Name}\", PokemonData.Type.{Type1.ToUpper()}, PokemonData.Type.{Type2.ToUpper()}, \"{AbilityCheck(Ability1)}\", {AbilityCheck(Ability2)}, \"{AbilityCheck(HiddenAbility)}\",\n" +
            $"{MaleRatio}f, {CatchRate}, PokemonData.EggGroup.{EggGroup1.ToUpper()}, PokemonData.EggGroup.{EggGroup2.ToUpper()}, {HatchTime}, {Height}f, {Weight}f,\n" +
            $"{EvExp.ToString()}, PokemonData.LevelingRate.{ToUpperRemoveSpace(LevelingRate)}, {EvHP.ToString()}, {EvAttack.ToString()}, {EvDefense.ToString()}, {EvSpecialAttack.ToString()}, {EvSpecialDefense.ToString()}, {EvSpeed.ToString()}, PokemonData.PokedexColor.{ToUpperRemoveSpace(PokedexColor)}, {BaseFriendship.ToString()},\n" +
            $"\"{Species}\", \"{PokedexEntry}\",\n" +
            $"{BaseHP.ToString()}, {BaseAttack.ToString()}, {BaseDefense.ToString()}, {BaseSpecialAttack.ToString()}, {BaseSpecialDefense.ToString()}, {BaseSpeed.ToString()}, {Luminance.ToString()}f, Color.{LightColor.ToLower()}," +
            "new int[] {" + $"{MoveLevels(LevelMoves)}" + "},\n" +
            "new string[]\n" +
            "{\n" +
            $"{MoveNames(LevelMoves)}\n" +
            "},\n" +
            "new string[] { " + HMandTM(hmAndTM) + " },\n" +
            "new int[] {" + EvolutionID + "}, new string[] {" + $"\"Level,{EvolutionLevel}\"" + "}),\n");
 }
コード例 #36
0
ファイル: DelcomV2Light.cs プロジェクト: thenathanjones/luces
        private void SetColor(LightColor color)
        {
            var controlBytes = new byte[8];
            controlBytes[0] = 0x65;
            controlBytes[1] = 0x0C;
            controlBytes[2] = (byte)color; // This is the LED byte
            controlBytes[3] = 0xFF;

            _controller.HidSetFeature(controlBytes);
        }
コード例 #37
0
        private void TurnOffLight(LightColor which)
        {
            switch (which)
            {
                case LightColor.GREEN:
                    if (greenLightTransform != null)
                    {
                        greenLightRenderer.material.SetColor(emissionId, Color.black);
                        greenLight.enabled = false;
                    }
                    break;

                case LightColor.RED:
                    if (redLightTransform != null)
                    {
                        redLightRenderer.material.SetColor(emissionId, Color.black);
                        redLight.enabled = false;
                    }
                    break;
            }
        }
コード例 #38
0
ファイル: Ampel.cs プロジェクト: sanderch/Ampel
 public void Light(LightColor color)
 {
     StartCommand(color.ToString());
 }
コード例 #39
0
        private void ReadMaterialDefinitionFile()
        {
            //string line = "";


            //while ((line = br.ReadLine()) != null)
            //{

            //    string[] parts = line.Split(new char[] { ' ', ',', '[', ']', '=' });

            //    string[] split = new string[parts.Length];

            //    int j = 0;
            //    for (int i = 0; i < parts.Length; ++i)
            //    {
            //        if (parts[i] != "")
            //            split[j++] = parts[i];
            //    }

            //    switch (split[0][0])
            //    {
            //        case 'c':
            //            LightColor lc = new LightColor(double.Parse(split[3]),double.Parse(split[4]),double.Parse(split[5]));

            //            idList.Add(split[1]);
            //            typeList.Add("Color");
            //            mateList.Add(lc.GetColor());
            //            break;
            //        default:
            //            break;
            //    }
            //}

            //return;

            int n = 0;

            while (true)
            {
                int c = ReadSkipSpace();
                switch (c)
                {
                case -1:
                    return;

                case '#':
                    ReadLine();
                    break;

                case 'M':
                case 'm':
                    n++;
                    String id = ReadAWord();

                    if (id.Equals(""))
                    {
                        System.Console.Out.WriteLine(n + "番目の定義にIDが設定されていません");
                        return;
                    }
                    if (idList.IndexOf(id) != -1)
                    {
                        System.Console.Out.WriteLine(n + "番目に定義されているIDが重複しています ID=" + id);
                        return;
                    }
                    String order      = "DIFFUSE";
                    String subCommand = ReadToKugiri("=").Trim().ToUpper();

                    if (!subCommand.Equals(order))
                    {
                        System.Console.Out.WriteLine(n + "番目の定義に" + order + "パラメータが設定されていません");
                        return;
                    }
                    LightColor lcd = ReadRGB();
                    if (lcd == null)
                    {
                        System.Console.Out.WriteLine(n + "番目の定義の" + order + "パラメータの設定が不正です");
                        return;
                    }
                    order      = "SPECULAR";
                    subCommand = ReadToKugiri("=").Trim().ToUpper();
                    if (!subCommand.Equals(order))
                    {
                        System.Console.Out.WriteLine(n + "番目の定義に" + order + "パラメータが設定されていません");
                        return;
                    }
                    LightColor lcs = ReadRGB();
                    if (lcs == null)
                    {
                        System.Console.Out.WriteLine(n + "番目の定義の" + order + "パラメータの設定が不正です");
                        return;
                    }
                    double specularSharpness = ReadDouble();
                    order      = "RADIATION";
                    subCommand = ReadToKugiri("=").Trim().ToUpper();
                    if (!subCommand.Equals(order))
                    {
                        System.Console.Out.WriteLine(n + "番目の定義に" + order + "パラメータが設定されていません");
                        return;
                    }
                    LightColor lcr = ReadRGB();
                    if (lcr == null)
                    {
                        System.Console.Out.WriteLine(n + "番目の定義の" + order + "パラメータの設定が不正です");
                        return;
                    }
                    idList.Add(id);
                    typeList.Add("Material");
                    mateList.Add(new Material(lcd, lcs, specularSharpness, lcr));
                    break;

                case 'C':
                case 'c':
                    n++;
                    id = ReadAWord();
                    if (id.Equals(""))
                    {
                        System.Console.Out.WriteLine(n + "番目の定義にIDが設定されていません");
                        return;
                    }
                    if (idList.IndexOf(id) != -1)
                    {
                        System.Console.Out.WriteLine(n + "番目に定義されているIDが重複しています ID=" + id);
                        return;
                    }
                    order      = "COLOR";
                    subCommand = ReadToKugiri("=").Trim().ToUpper();
                    if (!subCommand.Equals(order))
                    {
                        System.Console.Out.WriteLine(n + "番目の定義に" + order + "パラメータが設定されていません");
                        return;
                    }
                    LightColor lc = ReadRGB();
                    if (lc == null)
                    {
                        System.Console.Out.WriteLine(n + "番目の定義の" + order + "パラメータの設定が不正です");
                        return;
                    }
                    idList.Add(id);
                    typeList.Add("Color");
                    mateList.Add(lc.GetColor());
                    break;

                default:
                    System.Console.Out.WriteLine("不正なコマンド[" + (char)c + "]が現れました");
                    return;
                }
            }
        }
コード例 #40
0
 public void SetSolid(LightColor color)
 {
     LightControlRequest request = new LightControlRequest()
     {
         Color = color,
         Flash = false
     };
     lock (this.outstandingRequestLock)
     {
         outstandingRequest = request;
         outstandingRequestExist.Set();
         TraceVerbose.Trace("SetSolid({0}): request queued.", color);
     }
 }
コード例 #41
0
ファイル: Ampel.cs プロジェクト: sanderch/Ampel
 public void Light(LightColor color1, LightColor color2)
 {
     StartCommand(string.Format("{0} {1}", color1, color2));
 }
コード例 #42
0
 public void Add(LightColor color)
 {
     _colors.Add(color);
     _colorIndex = 0;
 }
コード例 #43
0
ファイル: MechJebAR202.cs プロジェクト: Veterok/MuMech
    void handleLights()
    {
        bool somethingEnabled = false;
        foreach (ComputerModule module in core.modules)
        {
            if (module.enabled) somethingEnabled = true;
        }

        if (MapView.MapIsEnabled) litLight = LightColor.NEITHER;
        else litLight = (somethingEnabled ? LightColor.GREEN : LightColor.RED);

        switch (litLight)
        {
            case LightColor.GREEN:
                if (!greenLight.enabled) turnOnLight(LightColor.GREEN);
                if (redLight.enabled) turnOffLight(LightColor.RED);
                break;

            case LightColor.RED:
                if (greenLight.enabled) turnOffLight(LightColor.GREEN);
                if (!redLight.enabled) turnOnLight(LightColor.RED);
                break;

            case LightColor.NEITHER:
                if (greenLight.enabled) turnOffLight(LightColor.GREEN);
                if (redLight.enabled) turnOffLight(LightColor.RED);
                break;
        }
    }
コード例 #44
0
ファイル: MapLight.cs プロジェクト: Linrasis/WoWEditor
        Vector3 ToRgb(LightColor colorType, ref LightDataEntry e)
        {
            var ret = new Vector3();
            switch(colorType)
            {
                case LightColor.Ambient:
                    ToRgb(e.globalAmbient, ref ret);
                    break;

                case LightColor.Diffuse:
                    ToRgb(e.globalDiffuse, ref ret);
                    break;

                case LightColor.Top:
                    ToRgb(e.skyColor0, ref ret);
                    break;

                case LightColor.Middle:
                    ToRgb(e.skyColor1, ref ret);
                    break;

                case LightColor.MiddleLower:
                    ToRgb(e.skyColor2, ref ret);
                    break;

                case LightColor.Lower:
                    ToRgb(e.skyColor3, ref ret);
                    break;

                case LightColor.Horizon:
                    ToRgb(e.skyColor4, ref ret);
                    break;

                case LightColor.Fog:
                    ToRgb(e.fogColor, ref ret);
                    break;

                case LightColor.Sun:
                    ToRgb(e.sunColor, ref ret);
                    break;

                case LightColor.Halo:
                    ToRgb(e.haloColor, ref ret);
                    break;

                case LightColor.Cloud:
                    ToRgb(e.cloudColor, ref ret);
                    break;

                default:
                    throw new ArgumentException("Invalid light type");
            }

            return ret;
        }
コード例 #45
0
ファイル: TrafficLight.cs プロジェクト: kmyumyun/SoftUni
 public TrafficLight(LightColor color)
 {
     this.color = color;
 }
コード例 #46
0
        /// <summary>
        /// Helper to convert our 'public-facing' color enum to the Delcom light.
        /// Delcom light has two versions, one supports yellow nad the other suports blue.
        /// Although Delcom document is vague, distributed DelcomDLL.h has only a single entry BLUELED = 2.
        /// We observe that each device picks either blue or yellow for this value.
        /// </summary>
        /// <param name="inputColor"></param>
        /// <returns></returns>
        private DelcomLightColor ConvertColor(LightColor inputColor)
        {
            DelcomLightColor result;

            switch (inputColor)
            {
                case LightColor.Red:
                    result = DelcomLightColor.Red;
                    break;

                case LightColor.Green:
                    result = DelcomLightColor.Green;
                    break;

                case LightColor.Yellow:
                    result = DelcomLightColor.Blue;
                    break;

                default:
                    throw new ArgumentException("Unexpected inputColor");
            }

            return result;
        }
コード例 #47
0
ファイル: StartSequence.cs プロジェクト: Tacconi/ProgettiVari
 private void OnSequenceChange(LightColor light, SoundType sound)
 {
     if (SequenceChange != null)
         SequenceChange(this, new SequenceChangeEventArgs() { Light = light, Sound = sound });
 }
コード例 #48
0
ファイル: TrafficLight.cs プロジェクト: kmyumyun/SoftUni
 public void ChangeColor()
 {
     this.color = this.GetNext(this.color);
 }
コード例 #49
0
ファイル: MapLight.cs プロジェクト: Linrasis/WoWEditor
        public bool GetColorForTime(int time, LightColor colorType, ref Vector3 color)
        {
            if (mDataEntries.Count == 0)
                return false;

            if (mEntryArray.Length != mDataEntries.Count)
                mEntryArray = mDataEntries.ToArray();

            if (mEntryArray.Length == 1)
            {
                color = ToRgb(colorType, ref mEntryArray[0]);
                return true;
            }

            var maxTime = mEntryArray[mEntryArray.Length - 1].timeValues;
            if (maxTime == 0 || mEntryArray[0].timeValues > time)
            {
                color = ToRgb(colorType, ref mEntryArray[0]);
                return true;
            }

            time %= 2880;

            var eIndex1 = -1;
            var eIndex2 = -1;
            var hasLight = false;
            var t1 = 1u;
            var t2 = 1u;

            for (var i = 0; i < mEntryArray.Length; ++i)
            {
                if (i + 1 >= mEntryArray.Length)
                {
                    eIndex1 = i;
                    eIndex2 = 0;
                    hasLight = true;
                    t1 = mEntryArray[eIndex1].timeValues;
                    t2 = mEntryArray[eIndex2].timeValues + 2880;
                    break;
                }

                if (mEntryArray[i].timeValues > time || mEntryArray[i + 1].timeValues <= time) continue;

                eIndex1 = i;
                eIndex2 = i + 1;
                hasLight = true;
                t1 = mEntryArray[eIndex1].timeValues;
                t2 = mEntryArray[eIndex2].timeValues;
                break;
            }

            if (hasLight == false)
                return false;

            if (t1 >= t2)
            {
                color = ToRgb(colorType, ref mEntryArray[eIndex1]);
                return true;
            }

            var diff = t2 - t1;
            var sat = (time - t1) / (float)diff;
            var v1 = ToRgb(colorType, ref mEntryArray[eIndex1]);
            var v2 = ToRgb(colorType, ref mEntryArray[eIndex2]);
            color = v2 * sat + v1 * (1 - sat);

            return true;
        }
コード例 #50
0
        void TurnOnLight(LightColor which)
        {
            switch (which)
            {
                case LightColor.GREEN:
                    if (greenLightTransform != null)
                    {
                        greenLightTransform.renderer.material.shader = lightShader;                        
                        greenLightTransform.renderer.material.color = Color.green;
                        greenLight.enabled = true;
                    }
                    break;

                case LightColor.RED:
                    if (redLightTransform != null)
                    {
                        redLightTransform.renderer.material.shader = lightShader;                        
                        redLightTransform.renderer.material.color = Color.red;
                        redLight.enabled = true;
                    }
                    break;
            }
        }
コード例 #51
0
ファイル: MechJebAR202.cs プロジェクト: numerobis/MechJeb2
        void TurnOnLight(LightColor which)
        {
            switch (which)
            {
                case LightColor.GREEN:
                    if (greenLightTransform != null)
                    {
                        greenLightTransform.renderer.material.shader = Shader.Find("Self-Illumin/Specular");
                        greenLightTransform.renderer.material.color = Color.green;
                        greenLight.enabled = true;
                    }
                    break;

                case LightColor.RED:
                    if (redLightTransform != null)
                    {
                        redLightTransform.renderer.material.shader = Shader.Find("Self-Illumin/Specular");
                        redLightTransform.renderer.material.color = Color.red;
                        redLight.enabled = true;
                    }
                    break;
            }
        }
コード例 #52
0
ファイル: DbHelper.cs プロジェクト: malik1988/LSX.PCService
 /// <summary>
 /// 设置灯颜色,写入灯表
 /// </summary>
 /// <param name="lightId"></param>
 /// <param name="color"></param>
 public static void SetLightColor(int lightId, LightColor color)
 {
 }
コード例 #53
0
ファイル: WorldLightEntry.cs プロジェクト: Linrasis/WoWEditor
        public Vector3 GetColorForTime(LightColor table, uint time)
        {
            var idx = (int)table;
            time %= 2880;

            if (idx < 0 || idx >= 18)
                return Vector3.Zero;

            var timeValues = mTimeTables[idx];
            var colorValues = mColorTables[idx];
            if (timeValues.Count == 0)
                return Vector3.Zero;

            if (timeValues[0] > time)
                time = timeValues[0];

            if (timeValues.Count == 1)
                return colorValues[0];

            var v1 = Vector3.Zero;
            var v2 = Vector3.Zero;

            uint t1 = 0;
            uint t2 = 0;

            for (var i = 0; i < timeValues.Count; ++i)
            {
                if (i + 1 >= timeValues.Count)
                {
                    v1 = colorValues[i];
                    v2 = colorValues[0];
                    t1 = timeValues[i];
                    t2 = timeValues[0] + 2880;
                    break;
                }

                var ts = timeValues[i];
                var te = timeValues[i + 1];
                if (ts <= time && te >= time)
                {
                    t1 = ts;
                    t2 = te;
                    v1 = colorValues[i];
                    v2 = colorValues[i + 1];
                    break;
                }
            }

            var diff = t2 - t1;
            if (diff == 0)
                return v1;

            var sat = (time - t1) / (float)diff;
            return (1 - sat) * v1 + sat * v2;
        }
コード例 #54
0
 public void SetFlash(LightColor color)
 {
 }