Esempio n. 1
0
        public BaseObject()
        {
            Id = Guid.NewGuid();

            CreateDate = UpdateDate = DateTime.Now;

            ValueHistoryManager = new ValueHistoryManager();
        }
Esempio n. 2
0
        public void SetPosition(Vector2 position)
        {
            //if (Position != Vector2.Zero && Position == position)
            //    return;

            Position = position;

            if (ValueHistoryManager.HasChangedFor(new ValueHistoryRecord("Position", position)))
            {
                OnChangeRectangle?.Invoke();
            }
        }
Esempio n. 3
0
        public void SetSize(Vector2 size)
        {
            //if (Size != Vector2.Zero && Size == size)
            //    return;
            Size = size;

            ClampManager.Update();

            if (ValueHistoryManager.HasChangedFor(new ValueHistoryRecord("Size", Size)))
            {
                OnChangeRectangle?.Invoke();
            }
        }
Esempio n. 4
0
        public virtual void Initialize()
        {
            SetName(MemberInfoName);

            OnChangeRectangle += SetRectangle;

            IsActive = IsAlive = IsVisible = true;

            ClampManager = new ClampManager(this)
                           .Add(new ClampObject("Size.X", 0f, float.MaxValue))
                           .Add(new ClampObject("Size.Y", 0f, float.MaxValue));

            SetStartingSettings();

            //DestinationRectangle = new Rectangle((int)Position.X, (int)Position.Y, (int)Size.X, (int)Size.Y);
            //destinationRectangle = new Rectangle((int)(position.X - origin.X), (int)(position.Y - origin.Y), (int)size.X, (int)size.Y);

            SourceRectangle = new Rectangle(0, 0, (int)Size.X, (int)Size.Y);

            Color = Color.White;

            //Effects.Add(new PulsateEffect(this));

            Events.Add(new DraggingEvent(this));

            Events.Add(new SimpleShadowEffect(this, new Vector2(-6, -6)));

            Events.Add(new PulsateEffect(this));

            TestInfo = new TestInfo(this);

            SpriteBatch = Global.SpriteBatch;

            var equalityFunctionForVector2 = new Func <object, object, bool>((previousValue, currentValue) =>
            {
                var previousValueAsVector2 = (Vector2)previousValue;

                var currentValueAsVector2 = (Vector2)currentValue;

                return(previousValueAsVector2 != currentValueAsVector2);
            });

            ValueHistoryManager.AddSetting(new ValueHistorySetting("Position", 2, equalityFunctionForVector2));

            ValueHistoryManager.AddSetting(new ValueHistorySetting("Size", 2, equalityFunctionForVector2));
        }
Esempio n. 5
0
        public virtual void Update(GameTime gameTime = null)
        {
            if (IsActive)
            {
                SetRectangle();

                SetOrigin();

                //if (IsPulsating)
                //{
                //    Scale = General.Pulsate();
                //}

                //foreach (var effect in Effects)
                //{
                //    effect.Update();
                //}

                foreach (var e in Events)
                {
                    e.Update();
                }

                ClampManager.Update();

                IsHovering = InputManager.IsHovering(DestinationRectangle);

                if (IsClickable)
                {
                    IsSelecting = InputManager.Selected(DestinationRectangle);
                }

                TestInfo.Update();

                ValueHistoryManager.Update();
            }
        }
Esempio n. 6
0
        static void Main(string[] args)
        {
            var date1 = DateTime.Now;
            var date2 = DateTime.Now.AddYears(-1);
            var date3 = DateTime.Now.AddYears(-2);
            var date4 = DateTime.Now.AddYears(-3);
            var date5 = DateTime.Now.AddYears(-5);

            var dateList = new List <DateTime>()
            {
                date1, date2, date3, date4, date5
            };

            for (int i = 0; i < dateList.Count; i++)
            {
                Console.WriteLine("{0:yyyy-MM-dd HH:mm:ss.fff}", dateList[i]);
            }

            dateList.Sort();
            Console.WriteLine();

            var list = dateList.OrderByDescending(dt => dt.Year).OrderByDescending(dt => dt.Millisecond).ThenByDescending(dt => dt.Ticks).ToList();

            for (int i = 0; i < list.Count; i++)
            {
                Console.WriteLine(list[i].Year + " " + list[i].Millisecond + " " + list[i].Ticks + " " + list[i].AddTicks(1).Ticks);
            }

            TestObject to             = new TestObject();
            var        historyManager = new ValueHistoryManager();


            //historyManager.AddSetting(new ValueHistorySetting("Name", 2,
            //    (previousValue,currentValue) =>
            //  {
            //      return !previousValue.Equals(currentValue);
            //  }));

            //historyManager.HasChangedFor(new ValueHistorySetting("Id",10));

            historyManager.AddSettings(to);

            historyManager.HasChangedFor(to);
            //historyManager.HasChangedFor(new ValueHistoryRecord("Name",to.Name));

            historyManager.Update();

            to.Name = "Koray";

            historyManager.HasChangedFor(to);
            //historyManager.HasChangedFor(new ValueHistoryRecord("Name", to.Name));

            historyManager.Update();

            to.Name = "Lebron";


            historyManager.HasChangedFor(to);
            //historyManager.HasChangedFor(new ValueHistoryRecord("Name", to.Name));

            historyManager.Update();
            to.Name = "Shaq";


            historyManager.HasChangedFor(to);

            historyManager.Update();

            historyManager.HasChangedFor(to);


            var records = historyManager.GetRecordsByPropertyName("Name");
        }