public ModelController(KinectUser user, VastPark.Imml.Scene.Controls.Model model)
 {
     this.User = user;
     this.Model = model;
     this.EnableBlending = true;
 }
 void _Simulator_NewTemperature(object sender, VastPark.FrameworkBase.ComponentModel.TypedEventArgs<int> e)
 {
     //write the new ICaptureState into the stream
     this.CaptureStream.Write(new WeatherCaptureState(BitConverter.GetBytes(e.Value), this.Guid, DateTime.UtcNow, DateTime.UtcNow.Subtract(this.CaptureStream.Timestamp).TotalMilliseconds));
 }
Esempio n. 3
0
        /// <summary>
        /// Unlinks the specified user from the specified proxy element.
        /// </summary>
        /// <param name="user">The user.</param>
        /// <param name="element">The element.</param>
        public void Unlink(KinectUser user, VastPark.Imml.Proxy.ImmlElement element)
        {
            if (ElementProxyFactory.GetType(element) != VastPark.Data.ElementType.Model)
            {
                throw new Exception("Invalid element to unlink, must be of type Model");
            }

            var model = ElementProxyFactory.ExtractElement(element) as VastPark.Imml.Scene.Controls.Model;
            var modelController = base.Controllers.Where(c => c is ModelController && (c as ModelController).Model == model).FirstOrDefault();

            if (modelController != null)
            {
                base.RemoveController(modelController);
            }

            this.LogProvider.Write(string.Format("User {0} is no longer associated with model {1}", user.UserId, model.Name), LogLevel.Notice);
        }
Esempio n. 4
0
        void kinectController_UserLost(object sender, VastPark.FrameworkBase.ComponentModel.TypedEventArgs<KinectUser> e)
        {
            var toRemove = base.Controllers.Where(c => (c is DebugController) && (c as DebugController).User == e.Value).FirstOrDefault();

            if (toRemove != null)
            {
                base.RemoveController(toRemove);
            }

            this.LogProvider.Write(string.Format("Lost user: {0}", e.Value.UserId), LogLevel.Notice);

            if (!string.IsNullOrEmpty(this.UserLost) && base.ParkEngine.ContainsName(this.UserLost))
            {
                var toExecute = base.ParkEngine.GetElementByName(this.UserLost) as ITimelineExecutable;

                if (toExecute != null)
                {
                    toExecute.Execute(this, e.Value);
                }
            }
        }
Esempio n. 5
0
        /// <summary>
        /// Links the specified user to a proxy element.
        /// </summary>
        /// <param name="user">The user.</param>
        /// <param name="element">The element.</param>
        public void Link(KinectUser user, VastPark.Imml.Proxy.ImmlElement element)
        {
            if (ElementProxyFactory.GetType(element) != VastPark.Data.ElementType.Model)
            {
                throw new Exception("Invalid element to link, must be of type Model");
            }

            var model = ElementProxyFactory.ExtractElement(element) as VastPark.Imml.Scene.Controls.Model;
            var modelController = new ModelController(user, model) { Enabled = true };

            base.AddController(modelController);

            this.LogProvider.Write(string.Format("User {0} is now associated with model {1}", user.UserId, model.Name), LogLevel.Notice);
        }