Esempio n. 1
0
        public PortalEntity(Guid id, Regulus.Types.Rect vision,string target_map, Types.Vector2 target_position)
            : base(id)
        {
            _TargetPosition = new Types.Vector2();
            _TargetPosition.X = target_position.X;
            _TargetPosition.Y = target_position.Y;
            _TargetMap = target_map;
            _Vision = vision;

            _Position = new Types.Vector2();
            _Position.X = (float)(_Vision.X + _Vision.Width /2);
            _Position.X = (float)(_Vision.Y + _Vision.Height / 2);
        }
Esempio n. 2
0
 public PhysicalAbility(Regulus.Types.Rect bounds ,Entity owner)
 {
     _Bounds = bounds;
 }
Esempio n. 3
0
        private void _UpdateMovers(List<EntityInfomation> infos)
        {
            foreach (var info in infos)
            {
                var moverAbility = info.Move;
                var observeAbility = info.Observe;
                var physical = info.Physical;
                if (moverAbility != null && observeAbility != null && physical != null)
                {

                    var w = physical.Bounds.Width;
                    var h = physical.Bounds.Height;
                    var x = observeAbility.Position.X - w / 2;
                    var y = observeAbility.Position.Y - h / 2;
                    var brounds = new Regulus.Types.Rect(x, y, w, h);
                    var inbrounds = _ObseverdInfomations.Query(brounds);
                    var obbs = from qtoa in inbrounds let ma = qtoa.Move where ma != null && moverAbility != ma select ma.Obb;
                    moverAbility.Update(_Time.Ticks, obbs);
                }
            }
        }