public void PushExclusive(Frame frame) { if (!RequiresExclusivity) { throw new CommunicationException(ApplicationId, "This method should only be used for clients requiring Exclusivity"); } hosts.ForEach(client => client.HostService.CreateChannel().RunFrameExclusive(frame)); }
public TestEngineManager() { Status = new Frame() { LightSection = new LightSection() { Lights = new List<Light>() }, FanSection = new FanSection() { Fans = new List<Fan>() }, RumbleSection = new RumbleSection() { Rumbles = new List<Rumble>() } }; Updated = new Dictionary<eComponentType, bool>() { {eComponentType.Light, false}, {eComponentType.Fan, false}, {eComponentType.Rumble, false} }; }
public FrameBuilder AddFrame() { if (currentFrame != null) { AddCurrentFrame(); } // Setup current Frame currentFrame = new Frame(); isRepeatedSpecified = false; return this; }
public void RunFrameExclusive(Frame frame) { ServerTask.UpdateExclusive(frame); }
public static void UpdateExclusive(Frame frame) { var scene = new amBXScene {Frames = new List<Frame> {frame}}; exclusiveProcessor.Process(scene); }
private bool FrameIsEmpty(Frame frame) { var section = frame.LightSection; return LightIsEmpty(section.GetComponentSectionInDirection(eDirection.East).GetLight()) && LightIsEmpty(section.GetComponentSectionInDirection(eDirection.West).GetLight()); }
public void RunFrameExclusive(Frame frame) { throw new NotImplementedException(); }
private void ProcessFrame(Frame frame) { SceneLength += frame.Length; ProcessComponent(frame.LightSection); ProcessComponent(frame.FanSection); ProcessComponent(frame.RumbleSection); }