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); }
public PhysicalAbility(Regulus.Types.Rect bounds ,Entity owner) { _Bounds = bounds; }
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); } } }