Ejemplo n.º 1
0
        private void LoadValue(string name, object value)
        {
            try
            {
                switch (name)
                {
                case "name": SceneName = Convert.ToString(value); break;

                case "duration": Duration = Convert.ToSingle(value); break;

                case "fadein": FadeIn = Convert.ToSingle(value); break;

                case "fadeout": FadeOut = Convert.ToSingle(value); break;

                case "campath":
                {
                    JsonList list = (JsonList)value;
                    for (int i = 0; i < list.Count - 2; i += 3)
                    {
                        CameraPath.Add(new Vector3(
                                           Convert.ToSingle(list[i + 0]),
                                           Convert.ToSingle(list[i + 1]),
                                           Convert.ToSingle(list[i + 2])
                                           ));
                    }
                }
                break;
                }
            }
            catch (Exception e)
            {
                Debug.Log($"Slide property \"{name}\" cannot hold a value of type \"{value.GetType().Name}\"!");
                Debug.LogException(e);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Creates a single slide from a JSON object.
        /// </summary>
        public SlideshowSlide(CustomSlideshow owner, JsonObj data) : this(owner)
        {
            Duration = -1f;

            foreach (var pair in data)
            {
                LoadValue(pair.Key, pair.Value);
            }

            if (SceneName == null)
            {
                throw new ArgumentException("Missing \"name\"!", nameof(data));
            }
            if (Duration < 0f)
            {
                throw new ArgumentException("Missing or invalid \"duration\" value!", nameof(data));
            }
            if (CameraPath.Count == 0)
            {
                CameraPath.Add(new Vector3(0f, 0f, 3f));
            }
        }