Example #1
0
        protected override void _SetAbility(Entity.AbilitySet abilitys)
        {
            _MoverAbility = new ActorMoverAbility(_Property.Direction, _Property.Position.X, _Property.Position.Y);
            _MoverAbility.ActionEvent += _OnAction;
            _MoverAbility.PositionEvent += _OnPosition;

            abilitys.AttechAbility<IMoverAbility>(_MoverAbility);

            _QuadTreeObjectAbility = new PhysicalAbility(new Regulus.Types.Rect(_Property.Position.X - _BodyWidth / 2, _Property.Position.Y - _BodyHeight / 2, _BodyWidth, _BodyHeight), this);
            abilitys.AttechAbility<PhysicalAbility>(_QuadTreeObjectAbility);
        }
Example #2
0
        public StaticEntity(Regulus.Utility.OBB obb, Guid id)
            : base(id)
        {
            _Obb = obb;

            var a = (float)((_Obb.getRotation() - 180) * Math.PI / 180);
            var s = (float)Math.Sin(a);
            var c = (float)Math.Cos(a);

            s = s < 0 ? -s : s;
            c = c < 0 ? -c : c;

            var w = _Obb.getHeight() * s + _Obb.getWidth() * c;
            var h = _Obb.getHeight() * c + _Obb.getWidth() * s;
            var x = _Obb.getX() - w / 2;
            var y = _Obb.getY() - h / 2;

            _QuadTreeObjectAbility = new PhysicalAbility(new Regulus.Types.Rect(x,y,w,h) , this);
        }