public void Cleanup() { if(_sim != null) { _sim.Disconnect(); _sim = null; } }
/// <summary>First half builds the ring, second half tests the connection handler...</summary> public void RingTest() { Parameters p = new Parameters("Test", "Test"); string[] args = "-b=.2 -c --secure_senders -s=50".Split(' '); Assert.AreNotEqual(-1, p.Parse(args), "Unable to parse" + p.ErrorMessage); Simulator sim = new Simulator(p); _sim = sim; Assert.IsTrue(sim.Complete(true), "Simulation failed to complete the ring"); SimpleTimer.RunSteps(fifteen_mins, false); var nm0 = sim.TakenIDs.Values[0]; int idx = 1; NodeMapping nm1 = null; do { nm1 = sim.TakenIDs.Values[idx++]; } while(Simulator.AreConnected(nm0.Node, nm1.Node) && idx < sim.TakenIDs.Count); Assert.IsFalse(Simulator.AreConnected(nm0.Node, nm1.Node), "Sanity check"); var ptype = new PType("chtest"); var ch0 = new ConnectionHandler(ptype, (StructuredNode) nm0.Node); var ch1 = new ConnectionHandler(ptype, (StructuredNode) nm1.Node); ConnectionHandlerTest(nm0.Node, nm1.Node, ch0, ch1); SimpleTimer.RunSteps(fifteen_mins * 2, false); Assert.IsFalse(Simulator.AreConnected(nm0.Node, nm1.Node), "Sanity check0"); ptype = new PType("chtest1"); ch0 = new SecureConnectionHandler(ptype, (StructuredNode) nm0.Node, nm0.Sso); ch1 = new SecureConnectionHandler(ptype, (StructuredNode) nm1.Node, nm1.Sso); ConnectionHandlerTest(nm0.Node, nm1.Node, ch0, ch1); }
public static UtilityFuncLib LoadUtilityFuncLib(string file, Simulator sim) { Assembly utilFile; UtilityFuncLib lib; try { utilFile = Assembly.LoadFrom(file); Type mainType; foreach (Type t in utilFile.GetTypes()) { if (t.Name == "UtilityFuncMain") { mainType = t; lib = (UtilityFuncLib)Activator.CreateInstance(mainType, sim); return lib; } } } catch (ApplicationException ex) { // Error loading utility func library } return null; }
public static ObjectGuid CreateBookWrittenCallback(object customData, ref Simulator.ObjectInitParameters initData, Quality quality) { BookWrittenData data = customData as BookWrittenData; if (data == null) return ObjectGuid.InvalidObjectGuid; try { Notify(data.Title); BookWritten book = GlobalFunctions.CreateObjectOutOfWorld("BookWritten") as BookWritten; if (book == null) { return ObjectGuid.InvalidObjectGuid; } book.InitBookCommon(data); return book.ObjectId; } catch(Exception e) { Common.Exception(data.ID, e); return ObjectGuid.InvalidObjectGuid; } }
private void Objects_OnObjectUpdated(Simulator simulator, ObjectUpdate update, ulong regionHandle, ushort timeDilation) { if (startTime == 0) return; if (update.LocalID == Client.Self.LocalID) { XYMovement(); ZMovement(); if (Client.Self.Movement.AtPos || Client.Self.Movement.AtNeg) { Client.Self.Movement.TurnToward(target); Debug("Flyxy "); } else if (Client.Self.Movement.UpPos || Client.Self.Movement.UpNeg) { Client.Self.Movement.TurnToward(target); //Client.Self.Movement.SendUpdate(false); Debug("Fly z "); } else if (Vector3.Distance(target, Client.Self.SimPosition) <= 2.0) { EndFlyto(); Debug("At Target"); } } if (Environment.TickCount - startTime > duration) { EndFlyto(); Debug("End Flyto"); } }
public InfiniteWave(Simulator simulator, DescriptorInfiniteWaves descriptor) { Simulator = simulator; Descriptor = descriptor; NbWavesAsked = 0; ActualDifficulty = Descriptor.StartingDifficulty - Descriptor.DifficultyIncrement; }
private static IGameObject CreateObjectWithOverrides(ulong instance, ProductVersion version, Vector3 initPos, int level, Vector3 initFwd, Hashtable overrides, Simulator.ObjectInitParameters initData) { GlobalFunctions.FillInInitData(initPos, level, initFwd, ref initData); IGameObject createdObject = CreateObjectInternal(instance, version, overrides, initData); GlobalFunctions.CheckForFailure(createdObject, "Missing object resource instance " + instance + Common.NewLine); return createdObject; }
public Ai(Simulator simulator) { this.simulator = simulator; this.ticks = simulator.Ticks; kruispunten = new List<IKruispuntType>(); // maak een initial state aan foreach (IKruispunt kruispunt in this.simulator.Kruispunten) { if (kruispunt is Type1) { kruispunten.Add(new KruispuntType1(kruispunt, simulator)); } else if (kruispunt is Type2) { kruispunten.Add(new KruispuntType2(kruispunt, simulator)); } else if (kruispunt is Type3) { kruispunten.Add(new KruispuntType3(kruispunt, simulator)); } else if (kruispunt is Type4) { kruispunten.Add(new KruispuntType4(kruispunt, simulator)); } } // register event handlers this.simulator.postSimulate += new EventHandler(simulator_postSimulate); this.simulator.preSimulate += new EventHandler(simulator_preSimulate); }
public StandardInteractionProvider(Simulator simulator, AbstractWindowsEnvironment environmentInterface, out Action cancelCallback) { this.simulator = simulator; this.environmentInterface = environmentInterface; cancelCallback = HandleCancelCallback; }
static void Main(string[] args) { var limitOrderBook = new StandardLimitOrderBook(); var commsModule = SignalRCommunicationsHandler.Instance; var simulator = new Simulator(limitOrderBook, commsModule, commsModule); System.Console.ReadKey(); }
public void ShouldFinishWithInactiveMatch() { var match = A.Match.Build(); var simulator = new Simulator(randomizer); simulator.Play(match); Assert.That(match.IsActive, Is.False); }
public SimulatorSpell (Simulator sim, string name) : base(name) { Contract.Requires(sim != null); Contract.Requires(!string.IsNullOrEmpty(name)); Sim = sim; }
public void ShouldFinishWithConclusiveMatch() { var match = A.Match.Build(); var simulator = new Simulator(randomizer); simulator.Play(match); Assert.That(match.IsConclusive, Is.True); }
public SimulatorInputInterface(Simulator.OurSimulator os) : base() { //For conversion into controller units worldWidth = (os.Algo.dim[0] * 100) / this.scale; worldHeight = (os.Algo.dim[1] * 100) / this.scale; this.os = os; }
// [Test] public void CompleteTheDtlsRing() { Parameters p = new Parameters("Test", "Test"); string[] args = "-b=.2 --dtls -c --secure_edges -s=25".Split(' '); Assert.AreNotEqual(-1, p.Parse(args), "Unable to parse" + p.ErrorMessage);; Simulator sim = new Simulator(p); Assert.IsTrue(sim.Complete(true), "Simulation failed to complete the ring"); sim.Disconnect(); }
public void ShouldGenerateMatchResult() { var match = A.Match.Build(); var simulator = new Simulator(randomizer); var result = simulator.Play(match); Assert.That(result, Is.Not.Null); }
public StimuliForm() { InitializeComponent(); this.FormClosed += StimuliForm_FormClosed; this.simulator = SimulatorAccessor.simulator; Refresh(); }
void Network_OnCurrentSimChanged(Simulator PreviousSimulator) { GridRegion region; if (Client.Grid.GetGridRegion(Client.Network.CurrentSim.Name, GridLayerType.Objects, out region)) { _MapImageID = region.MapImageID; Client.Assets.RequestImage(_MapImageID, ImageType.Baked); } }
private void UpdateMiniMap(Simulator sim) { if (this.InvokeRequired) this.BeginInvoke((MethodInvoker)delegate { UpdateMiniMap(sim); }); else { Bitmap bmp = new Bitmap(256, 256); Graphics g = Graphics.FromImage(bmp); //SolidBrush brush = new SolidBrush(Color.FromArgb(90, 32, 32, 32)); g.Clear(this.BackColor); g.FillRectangle(Brushes.White, 0f, 0f, 256f, 256f); if (sim.PositionIndexYou == -1 || sim.PositionIndexYou >= sim.AvatarPositions.Count) return; int i = 0; Vector3 myPos = sim.AvatarPositions[sim.PositionIndexYou]; _Client.Network.CurrentSim.AvatarPositions.ForEach(delegate(Vector3 pos) { int x = (int)pos.X; int y = 255 - (int)pos.Y; if (i == _Client.Network.CurrentSim.PositionIndexYou) { g.FillEllipse(Brushes.PaleGreen, x - 5, y - 5, 10, 10); g.DrawEllipse(Pens.Green, x - 5, y - 5, 10, 10); } else { if (myPos.Z - (pos.Z * 4) > 5) { Point[] points = new Point[3] { new Point(x - 6, y - 6), new Point(x + 6, y - 6), new Point(x, y + 6) }; g.FillPolygon(Brushes.Red, points); g.DrawPolygon(Pens.DarkRed, points); } else if (myPos.Z - (pos.Z * 4) < -5) { Point[] points = new Point[3] { new Point(x - 6, y + 6), new Point(x + 6, y + 6), new Point(x, y - 6) }; g.FillPolygon(Brushes.Red, points); g.DrawPolygon(Pens.DarkRed, points); } else { g.FillEllipse(Brushes.Red, x - 5, y - 5, 10, 10); g.DrawEllipse(Pens.DarkRed, x - 5, y - 5, 10, 10); } } i++; }); g.DrawImage(bmp, 0, 0); this.Image = bmp; } }
public void Start () { cam = Camera.main; var simu = FindObjectOfType(typeof(RVOSimulator)) as RVOSimulator; if (simu == null) { this.enabled = false; throw new System.Exception("No RVOSimulator in the scene. Please add one"); } sim = simu.GetSimulator(); }
public TFormRegeling1() { InitializeComponent(); simulator = new Simulator(); postSimulateEvent = new EventHandler(simulator_postSimulate); simulator.postSimulate += postSimulateEvent; }
public SpaceshipSpaceship(Simulator simulator) : base(simulator) { BuyPrice = 50; SfxOut = "sfxPowerUpDoItYourselfOut"; SfxIn = "sfxPowerUpDoItYourselfIn"; ShowTrail = true; Weapon = new BasicBulletWeapon(Simulator, this, 100, 1); }
public Ability(Simulator sim, string name, Func<TimeSpan> cooldown = null, Func<TimeSpan> gcd = null, Func<bool> isUsable = null) : base(sim, name) { _cooldown = cooldown ?? (() => TimeSpan.Zero); _gcd = gcd ?? (() => TimeSpan.FromSeconds(1.5)); _isUsable = isUsable ?? (() => true); }
public AutoAttack (Simulator sim, Func<TimeSpan> swingTimer) { Contract.Requires(sim != null); Contract.Requires(swingTimer != null); Sim = sim; _swingTimer = swingTimer; NextSwing = TimeSpan.Zero; }
public static void Main(string[] args) { Util.waitTerminationCodeAsync("szx"); Simulator simulator = new Simulator( Util.readJsonFile<Misson>(Simulator.DefaultMissionPath)); simulator.launch(); //Util.waitTerminationCode("szx");zd }
public void Awake() { tr = transform; RVOSimulator sim = FindObjectOfType(typeof(RVOSimulator)) as RVOSimulator; if (sim == null) { Debug.LogError ("No RVOSimulator component found in the scene. Please add one."); return; } simulator = sim.GetSimulator (); }
public ProcessControlForm() { InitializeComponent(); this.FormClosed += ProcessControlForm_FormClosed; simulator = SimulatorAccessor.simulator; newProcess = new Process(); ProcessRefresh(); ControlRefresh(); OrderRefresh(); }
public void ShouldConfigureItself() { var simulator = new Simulator(_model); simulator.Simulate(TimeSpan.FromSeconds(1)); foreach (var robot in _model.Robots) robot.RequiresReconfiguration().Should().BeFalse(); foreach (var cart in _model.Carts) cart.RequiresReconfiguration().Should().BeFalse(); }
public void ShouldPlayExtraTimeWhenInconclusive() { var randomizerStub = mocks.Create<MatchRandomizer>(MockBehavior.Loose, new StaticRandomGenerator()); randomizerStub.Setup(r => r.TryShoot(It.IsAny<double>(), It.IsAny<double>(), It.IsAny<double>())).Returns(ShotResult.Missed); MatchRandomizer.Current = randomizerStub.Object; var match = A.Match.WithExtraTimeRequired().Build(); var simulator = new Simulator(randomizerStub.Object); simulator.Play(match); Assert.That(match.Length, Is.EqualTo(120)); }
protected Result Normal() { var rstart = System.DateTime.UtcNow; var vstart = DateTime.UtcNow; Simulator sim = new Simulator(_parameters); sim.Complete(true); SimpleTimer.RunSteps(3600000); long memory = GC.GetTotalMemory(true); long time = (System.DateTime.UtcNow - rstart).Ticks / TimeSpan.TicksPerMillisecond; long throughput = (long) (SimulationEdgeListener.TotalDataTransferred() / (DateTime.UtcNow - vstart).TotalSeconds); sim.Disconnect(); return new Result(memory, time, throughput); }
//define the function that can launch the random process public double[] GetSimulations(double SO, double K, double sigma, double r, double T, Int32 StepNum, Int32 TrailNum, double[,] Randoms, int Anti, double Divident, int DeltaBase, int MultiThread) { //utilize the simulate method to get results double[] Result = Simulator.Simulate(SO, K, sigma, r, T, StepNum, TrailNum, Randoms, Anti, Divident, DeltaBase, MultiThread); return(Result); }
private void SetPerms(Simulator CurrentSim, List <uint> localIDs, PermissionWho who, PermissionMask Perms, bool tf) { try { if (!skipPerms) { PermCount = 0; if ((Perms & PermissionMask.Modify) == PermissionMask.Modify) { Client.Objects.SetPermissions(CurrentSim, localIDs, who, PermissionMask.Modify, tf); } PermsSent = true; // if (!GotPermissionsEvent.WaitOne(1000 * 30, false)) // return Failure("failed to set the modify bit, permissions in an unknown state"; PermCount = 0; if ((Perms & PermissionMask.Copy) == PermissionMask.Copy) { Client.Objects.SetPermissions(CurrentSim, localIDs, who, PermissionMask.Copy, tf); } PermsSent = true; // if (!GotPermissionsEvent.WaitOne(1000 * 30, false)) // return Failure("failed to set the copy bit, permissions in an unknown state"; PermCount = 0; if ((Perms & PermissionMask.Transfer) == PermissionMask.Transfer) { Client.Objects.SetPermissions(CurrentSim, localIDs, who, PermissionMask.Transfer, tf); } PermsSent = true; PermCount = 0; if ((Perms & PermissionMask.Move) == PermissionMask.Move) { Client.Objects.SetPermissions(CurrentSim, localIDs, who, PermissionMask.Transfer, tf); } PermsSent = true; } /* * else * { * Client.Objects.SetPermissions(CurrentSim, localIDs, PermissionWho.Owner, PermissionMask.All, true); * Client.Objects.SetPermissions(CurrentSim, localIDs, PermissionWho.Group, PermissionMask.Modify, true); * Client.Objects.SetPermissions(CurrentSim, localIDs, PermissionWho.Group, PermissionMask.All, true); * } * // if (!GotPermissionsEvent.WaitOne(1000 * 30, false)) * // return Failure("failed to set the transfer bit, permissions in an unknown state"; */ } catch (Exception e) { DLRConsole.DebugWriteLine("ERROR {0}", e); } }
public override CmdResult ExecuteRequest(CmdRequest args) { //opensim drew this line because of clients might be hardcoded to only support 255? or was this trying to copy linden? try { //Client.Objects.OnObjectProperties += callback; int argsUsed; Simulator CurSim = TryGetSim(args, out argsUsed) ?? Client.Network.CurrentSim; UUID groupID = UUID.Zero; Simulator CurrentSim = CurSim; Permissions AddPerms = new Permissions(); Permissions SubPerms = new Permissions(); bool doTaskInv = false; List <Primitive> TaskPrims = new List <Primitive>(); List <uint> localIDs = new List <uint>(); // Reset class-wide variables PermsSent = false; Objects.Clear(); PermCount = 0; bool oneAtATime = false; if (args.Length < 3) { return(ShowUsage()); } if (!UUIDTryParse(args, 0, out groupID, out argsUsed)) { return(ShowUsage()); } args.AdvanceArgs(argsUsed); List <SimObject> PS = WorldSystem.GetSingleArg(args, out argsUsed); if (IsEmpty(PS)) { return(Failure("Cannot find objects from " + args.str)); } PermissionWho who = 0; bool deed = false; for (int i = argsUsed; i < args.Length; i++) { bool add = true; bool setPerms = false; string arg = args[i]; int whoint = (int)who; PermissionMask Perms = PermsAdd[whoint]; if (arg.StartsWith("+")) { arg = arg.Substring(1); } else if (arg.StartsWith("-")) { arg = arg.Substring(1); add = false; Perms = PermsSub[whoint]; } switch (arg.ToLower()) { // change owner referall case "who": who = 0; break; case "o": who |= PermissionWho.Owner; break; case "g": who |= PermissionWho.Group; break; case "e": who |= PermissionWho.Everyone; break; case "n": who |= PermissionWho.NextOwner; break; case "a": who = PermissionWho.All; break; // change perms for owner case "copy": Perms |= PermissionMask.Copy; setPerms = true; break; case "mod": Perms |= PermissionMask.Modify; setPerms = true; break; case "xfer": Perms |= PermissionMask.Transfer; setPerms = true; break; case "all": Perms |= PermissionMask.All; setPerms = true; break; case "dmg": Perms |= PermissionMask.Damage; setPerms = true; break; case "move": Perms |= PermissionMask.Move; setPerms = true; break; // dont change perms at all case "noperms": skipPerms = true; break; // deed (implies will use group) case "deed": deed = true; break; // set object group case "group": i++; setGroup = true; groupID = Client.GroupName2UUID(args[i]); break; case "task": doTaskInv = true; break; case "incr": oneAtATime = true; break; default: return(ShowUsage()); } if (setPerms) { skipPerms = false; if (add) { PermsAdd[whoint] = Perms; } else { PermsSub[whoint] = Perms; } } } ulong CurrentSimHandle = CurrentSim.Handle; foreach (SimObject o in PS) { if (o is SimAvatar) { continue; } if (o.RegionHandle != CurrentSimHandle) { continue; } // Find the requested prim Primitive rootPrim = o.Prim; if (rootPrim == null) { continue; } localIDs.Add(rootPrim.LocalID); Objects[rootPrim.ID] = rootPrim; if (doTaskInv) { TaskPrims.Add(rootPrim); } continue; ; UUID rootID = UUID.Zero; if (rootPrim == null) { return(Failure("Cannot find requested prim " + rootID.ToString())); } else { WriteLine("Found requested prim " + rootPrim.ID.ToString(), Client); } if (rootPrim.ParentID != 0) { // This is not actually a root prim, find the root if (!CurrentSim.ObjectsPrimitives.TryGetValue(rootPrim.ParentID, out rootPrim)) { return(Failure("Cannot find root prim for requested object")); } else { WriteLine("Set root prim to " + rootPrim.ID.ToString(), Client); } } List <Primitive> childPrims; // Find all of the child objects linked to this root childPrims = CurrentSim.ObjectsPrimitives.FindAll( delegate(Primitive prim) { return(prim.ParentID == rootPrim.LocalID); }); // Build a dictionary of primitives for referencing later // Objects[rootPrim.ID] = rootPrim; for (int i = 0; i < childPrims.Count; i++) { Objects[childPrims[i].ID] = childPrims[i]; } // Build a list of all the localIDs to set permissions for localIDs.Add(rootPrim.LocalID); for (int i = 0; i < childPrims.Count; i++) { localIDs.Add(childPrims[i].LocalID); } if (doTaskInv) { TaskPrims.AddRange(childPrims); TaskPrims.Add(rootPrim); } } WriteLine("Using PermissionMask: +" + PermsAdd.ToString() + " -" + PermsSub.ToString(), Client); // Go through each of the three main permissions and enable or disable them #region Set Linkset Permissions if (oneAtATime) { List <uint> smallList = new List <uint>(); foreach (var o in Objects.Values) { if (o.OwnerID == Client.Self.AgentID) //if (o.GroupID!=groupID) { if (doTaskInv) { TaskPrims.Add(o); } smallList.Clear(); smallList.Add(o.LocalID); SetDeed(CurrentSim, smallList, groupID, deed); } } } else { if (localIDs.Count < 50) { SetDeed(CurrentSim, localIDs, groupID, deed); } else { List <uint> smallList = new List <uint>(); while (localIDs.Count > 0) { if (localIDs.Count < 50) { SetDeed(CurrentSim, localIDs, groupID, deed); break; } smallList.Clear(); smallList.AddRange(localIDs.GetRange(0, 50)); SetDeed(CurrentSim, smallList, groupID, deed); localIDs.RemoveRange(0, 50); } } } #endregion Set Linkset Permissions // Check each prim for task inventory and set permissions on the task inventory int taskItems = 0; if (doTaskInv) { foreach (Primitive prim in TaskPrims) { if ((prim.Flags & PrimFlags.InventoryEmpty) == 0) { List <InventoryBase> items = Client.Inventory.GetTaskInventory(prim.ID, prim.LocalID, 1000 * 10); if (items != null) { for (int i = 0; i < items.Count; i++) { if (!(items[i] is InventoryFolder)) { InventoryItem item = (InventoryItem)items[i]; // prev and not (W or All) item.Permissions.GroupMask &= ~(PermsSub[(int)PermissionWho.Group] | PermsSub[(int)PermissionWho.All]); item.Permissions.OwnerMask &= ~(PermsSub[(int)PermissionWho.Owner] | PermsSub[(int)PermissionWho.All]); item.Permissions.NextOwnerMask &= ~(PermsSub[(int)PermissionWho.NextOwner] | PermsSub[(int)PermissionWho.All]); item.Permissions.EveryoneMask &= ~(PermsSub[(int)PermissionWho.Everyone] | PermsSub[(int)PermissionWho.All]); // prev and (W or All) item.Permissions.GroupMask |= PermsAdd[(int)PermissionWho.Group] | PermsAdd[(int)PermissionWho.All]; item.Permissions.OwnerMask |= PermsAdd[(int)PermissionWho.Owner] | PermsAdd[(int)PermissionWho.All]; item.Permissions.NextOwnerMask |= PermsAdd[(int)PermissionWho.NextOwner] | PermsAdd[(int)PermissionWho.All]; item.Permissions.EveryoneMask |= PermsAdd[(int)PermissionWho.Everyone] | PermsAdd[(int)PermissionWho.All]; Client.Inventory.UpdateTaskInventory(prim.LocalID, item); ++taskItems; } } } } } } return (Success("Using PermissionMask: +" + PermsAdd.ToString() + " -" + PermsSub.ToString() + " on " + Objects.Count + " objects and " + taskItems + " inventory items")); } finally { // Client.Objects.OnObjectProperties -= callback; } }
void Grid_OnCoarseLocationUpdate(Simulator sim, List <UUID> newEntries, List <UUID> removedEntries) { UpdateMiniMap(sim); }
protected abstract void Run([NotNull] Simulator sim);
static void Main(string[] args) { INBAContext db = new NBAContext(); IUnitOfWork uw = new UnitOfWork(db); IGetStatMethods _getStatMethods = new GetStatMethods(db); IStatScraper _statScraper = new Api.Entities.StatScraper(db, uw, _getStatMethods); IStatCalculator _statCalculator = new StatCalculator(db, _getStatMethods); ISimulator _simulator = new Simulator(_statCalculator, _getStatMethods); IPredictor _predictor = new Predictor(db, uw, _getStatMethods, _simulator, _statScraper); //for (int i = 200; i < 707; i++) //{ // IPredictor predictor=new Predictor(_getStatMethods,_simulator,_statScraper); // predictor.PredictQuarter(1,i); //} //for (int i = 708; i < 972; i++) //{ // IPredictor predictor = new Predictor(_getStatMethods, _simulator, _statScraper); // predictor.PredictQuarter(1, i); //} //QuarterPredictions quarter1 = _simulator.QuarterSimulator(Team.MemphisGrizzlies, Team.LosAngelesLakers, 1, 87); //QuarterPredictions quarter2 = _simulator.QuarterSimulator(Team.MemphisGrizzlies, Team.LosAngelesLakers, 2, 87); //QuarterPredictions quarter3 = _simulator.QuarterSimulator(Team.MemphisGrizzlies, Team.LosAngelesLakers, 3, 87); //QuarterPredictions quarter4 = _simulator.QuarterSimulator(Team.MemphisGrizzlies, Team.LosAngelesLakers, 4, 87); ////FullStatScraper //List<GameTime> gamesPlayed = _statScraper.GetListOfGamesPlayed(); //using (var driver = new ChromeDriver()) //{ // driver.Manage().Window.Maximize(); // driver.Navigate().GoToUrl("https://www.nba.com/schedule"); // Thread.Sleep(2000); // driver.FindElementByXPath("/html/body/div[2]/div[3]/div/div/div[2]/div/div/button").Click(); // foreach (var game in gamesPlayed) // { // if (game.GameNo == 16 || game.GameNo == 145 || game.GameNo == 154 || game.GameNo == 160 || game.GameNo == 166 || game.GameNo == 167 || game.GameNo == 171 || game.GameNo == 179 || game.GameNo == 183 || game.GameNo == 185 || game.GameNo == 194 || game.GameNo == 197 || game.GameNo == 199 || game.GameNo == 204 || game.GameNo == 215 || game.GameNo == 225 || game.GameNo == 235 || game.GameNo == 240 || game.GameNo == 255 || game.GameNo == 263 || game.GameNo == 264 || game.GameNo == 278 || game.GameNo == 321 || game.GameNo == 362 || game.GameNo == 428 || game.GameNo == 434 || game.GameNo == 435 || game.GameNo == 442 || game.GameNo == 448) // continue; // if (_statScraper.DoesGameExist(game.GameNo)) // continue; // try // { // driver.Navigate().GoToUrl("https://www.nba.com/game/002200" + (game.GameNo).ToString("0000")); // FullSeason stat = _statScraper.GameScraper(driver, game.GameNo); // List<PlayerStats> stats = _statScraper.PlayerStatScraper(driver, game.GameNo); // List<FullSeasonQuarters> quarters = new List<FullSeasonQuarters>(); // for (int l = 1; l < 5; l++) // { // FullSeasonQuarters quarter = _statScraper.QuarterScraper(driver, game.GameNo, l); // quarters.Add(quarter); // } // _statScraper.AddStatGame(stat); // _statScraper.AddPlayerStatList(stats); // foreach (var quarter in quarters) // { // if (quarter.HomePoints > 50 || quarter.HomePoints < 10 || quarter.AwayPoints > 50 || // quarter.AwayPoints < 10) // { // return; // } // _statScraper.AddStatQuarter(quarter); // } // } // catch (Exception) // { // } // } //} ////Quarter Predictor //List<GameTime> gamesToBePlayed = _statScraper.GetListOfGamesToBePlayed(); //foreach (var game in gamesToBePlayed) //{ // if (_statScraper.DoesQuarterPredictionExist(game.GameNo) || game.GameNo == 428 || game.GameNo == 434 || game.GameNo == 435 || game.GameNo == 442 || game.GameNo == 448) // { // continue; // } // for (int j = 1; j < 5; j++) // { // try // { // QuarterPredictions quarter = _simulator.QuarterSimulator(game.HomeTeam, game.AwayTeam, j, game.GameNo); // _statScraper.AddQuarterPrediction(quarter); // } // catch (Exception) // { // } // } //} ////Game Predictor //foreach (var game in gamesToBePlayed) //{ // if (_statScraper.DoesGamePredictionExist(game.GameNo) || game.GameNo == 428 || game.GameNo == 434 || game.GameNo == 435 || game.GameNo == 442 || game.GameNo == 448) // { // continue; // } // GamePredictions gamePrediction = _simulator.FullMatchSimulator(game.HomeTeam, game.AwayTeam, game.GameNo); // _statScraper.AddGamePrediction(gamePrediction); //} ////FullGame Date Scraper //int i = 22; //int k = 9; //for (; i < 23; i++) //{ // using (var driver = new ChromeDriver()) // { // for (; k < 25; k++) // { // if (game.GameNo >= 563) // return; // try // { // GameTime time = _statScraper.DateScraper(driver, game.GameNo, // "https://www.nba.com/game/002200" + (game.GameNo).ToString("0000")); // _statScraper.AddGameTime(time); // } // catch (Exception) // { // k--; // } // } // } // k = 0; //} ////Quarters //List<GameTime> games = _statScraper.GetListOfGamesPlayed(); //using (var driver = new ChromeDriver()) //{ // driver.Manage().Window.Maximize(); // driver.Navigate().GoToUrl("https://www.nba.com/schedule"); // Thread.Sleep(2000); // driver.FindElementByXPath("/html/body/div[2]/div[3]/div/div/div[2]/div/div/button").Click(); // Thread.Sleep(1000); // foreach (var game in games) // { // if (_statScraper.DoesQuarterExist(game.GameNo)) // continue; // if (game.GameNo == 16 || game.GameNo == 145 || game.GameNo == 154 || game.GameNo == 160 || game.GameNo == 166 || game.GameNo == 167 || game.GameNo == 171 || game.GameNo == 179 || game.GameNo == 183 || game.GameNo == 185 || game.GameNo == 194 || game.GameNo == 197 || game.GameNo == 199 || game.GameNo == 204 || game.GameNo == 215 || game.GameNo == 225 || game.GameNo == 235 || game.GameNo == 240 || game.GameNo == 255 || game.GameNo == 263 || game.GameNo == 264 || game.GameNo == 278 || game.GameNo == 321) // continue; // driver.Navigate().GoToUrl("https://www.nba.com/game/002200" + (game.GameNo).ToString("0000") + "/box-score"); // List<FullSeasonQuarters> season = new List<FullSeasonQuarters>(); // for (int l = 1; l < 5; l++) // { // try // { // // } // catch (Exception) // { // l--; // } // } // } //} ////PlayerInfoScraper //using (var driver = new ChromeDriver()) //{ // driver.Manage().Window.Maximize(); // List<Players> players = _statScraper.PlayerInfoScraper(driver, 1, 508); // _statScraper.AddPlayerInfoList(players); //} ////GameTimeUpdate //for (int j = 0; j < 6; j++) //{ // using (var driver = new ChromeDriver()) // { // for (int i = 1; i <= 100; i++) // { // if (j * 100 + i == 16) // continue; // if (j * 100 + i < 133) // { // GameTime game = db.GameTime.Find(j * 100 + i); // if (game.GameDate < DateTime.Now.AddHours(-8)) // { // continue; // } // driver.Navigate().GoToUrl("https://www.nba.com/game/002200" + (j * 100 + i).ToString("0000") + "/box-score"); // if (i == 1) // { // Thread.Sleep(1000); // driver.FindElementByXPath("/html/body/div[3]/div[3]/div/div/div[2]/div/div/button").Click(); // } // game.AwayTeam = _statScraper.GetTeamEnumByTeamName(driver // .FindElementByXPath("/html/body/div[1]/div[2]/div[5]/section[2]/div[1]/h1/span").Text.Replace(" ", "").ToUpper().Replace('İ', 'I')); // game.HomeTeam = _statScraper.GetTeamEnumByTeamName(driver // .FindElementByXPath("/html/body/div[1]/div[2]/div[5]/section[3]/div[1]/h1/span").Text.Replace(" ", "").ToUpper().Replace('İ', 'I')); // uw.Commit(); // } // else // { // GameTime game = db.GameTime.Find(j * 100 + i); // driver.Navigate().GoToUrl("https://www.nba.com/game/002200" + (j * 100 + i).ToString("0000")); // if (i == 1) // { // Thread.Sleep(1000); // driver.FindElementByXPath("/html/body/div[3]/div[3]/div/div/div[2]/div/div/button").Click(); // } // string teams = null; // while (teams==null) // { // try // { // teams = driver // .FindElementByXPath("/html/body/div[1]/div[2]/section/div[1]/div[5]/div/div[2]/h1") // .Text; // } // catch (Exception e) // { // driver.Navigate().Refresh(); // } // } // string away = teams.Substring(0, teams.IndexOf('@') - 1).ToUpper().Replace('İ', 'I').Replace(" ",""); // string home = teams.Substring(teams.IndexOf('@') + 2).ToUpper().Replace('İ', 'I').Replace(" ", ""); // game.AwayTeam = _statScraper.GetTeamEnumByTeamMascotName(away); // game.HomeTeam = _statScraper.GetTeamEnumByTeamMascotName(home); // uw.Commit(); // } // } // } //} ////FullGame 19-20 //int i = 0; //int k = 1; //try //{ // int gameNo = _getStatMethods.GetLatestGameNoFullSeason1920(); // i = gameNo / 25; // k = gameNo % 25 + 1; //} //catch (Exception) //{ //} //for (; i < 39; i++) //{ // using (var driver = new ChromeDriver()) // { // driver.Manage().Window.Maximize(); // driver.Navigate().GoToUrl("https://www.nba.com/schedule"); // Thread.Sleep(2000); // driver.FindElementByXPath("/html/body/div[2]/div[3]/div/div/div[2]/div/div/button").Click(); // if (game.GameNo >= 971) // return; // for (; k < 25; k++) // { // if (game.GameNo >= 971) // return; // if (game.GameNo == 707) // continue; // try // { // FullSeason19_20 stat = _statScraper.GameScraper1920(driver, game.GameNo, // "https://www.nba.com/game/002190" + (game.GameNo).ToString("0000")); // _statScraper.AddStatGame(stat); // } // catch (Exception) // { // k--; // } // } // } // k = 0; //} ////FullSeasonQuarters 19-20 //int i = 0; //int k = 1; //int j = 1; //try //{ // int quarterNo = _getStatMethods.GetLatestQuarterNoFullSeasonQuarters1920(); // int gameNo = _getStatMethods.GetLatestGameNoFullSeasonQuarters1920(); // if (quarterNo == 4) // { // j = 0; // gameNo += 1; // quarterNo = 0; // } // i = gameNo / 25; // k = gameNo % 25; // j = quarterNo + 1; //} //catch (Exception) //{ //} //for (; i < 39; i++) //{ // using (var driver = new ChromeDriver()) // { // driver.Manage().Window.Maximize(); // driver.Navigate().GoToUrl("https://www.nba.com/schedule"); // Thread.Sleep(2000); // driver.FindElementByXPath("/html/body/div[2]/div[3]/div/div/div[2]/div/div/button").Click(); // driver.Manage().Window.Minimize(); // if (game.GameNo >= 971) // return; // for (; k < 25; k++) // { // if (game.GameNo >= 971) // return; // if (game.GameNo == 707) // continue; // try // { // driver.Navigate().GoToUrl("https://www.nba.com/game/002190" + (game.GameNo).ToString("0000") + "/box-score"); // List<FullSeasonQuarters19_20> stats = new List<FullSeasonQuarters19_20>(); // for (; j < 5; j++) // { // FullSeasonQuarters19_20 stat = _statScraper.QuarterScraper1920(driver, game.GameNo, j); // stats.Add(stat); // } // foreach (var stat in stats) // { // _statScraper.AddStatQuarter(stat); // } // j = 1; // } // catch (Exception) // { // k--; // } // } // } // k = 0; //} ////FullSeasonQuarters 19-20 Add-ons //List<int> games = new List<int>(); //List<int> quarters = new List<int>(); //for (int l = 1; l < 971; l++) //{ // if (l == 707) // { // continue; // } // for (int m = 1; m < 5; m++) // { // if (!_getStatMethods.QuarterExist1920(l, m)) // { // games.Add(l); // quarters.Add(m); // } // } //} //using (var driver = new ChromeDriver()) //{ // driver.Manage().Window.Maximize(); // driver.Navigate().GoToUrl("https://www.nba.com/schedule"); // Thread.Sleep(2000); // driver.FindElementByXPath("/html/body/div[2]/div[3]/div/div/div[2]/div/div/button").Click(); // for (int l = 0; l < games.Count; l++) // { // FullSeasonQuarters19_20 stat = _statScraper.QuarterScraper1920(driver, games[l], quarters[l]); // _statScraper.AddStatQuarter(stat); // } //} ////CoEfficientOptimizerGame //for (int i = 0; i < 6561; i++) //{ // _predictor.CoefficientOptimizerGame(i); //} ////CoEfficientOptimizerQuarter //for (int i = 0; i < 6561; i++) //{ // _predictor.CoefficientOptimizerQuarter(i); //} }
public static string GetRouteTextureFile(Simulator simulator, TextureFlags textureFlags, string textureName) { return(GetTextureFile(simulator, textureFlags, simulator.RoutePath + @"\Textures", textureName)); }
public void whenPlaceRobot_2Args_ThenExceptionThrown() { var simulator = new Simulator(); simulator.Command(Core.Models.CommandEnum.PLACE, "1,5"); }
public static TrainCar Load(Simulator simulator, Train train, string wagFilePath, bool initialize = true) { GenericWAGFile wagFile = SharedGenericWAGFileManager.Get(wagFilePath); TrainCar car; if (wagFile.OpenRails != null && wagFile.OpenRails.DLL != null) { // wag file specifies an external DLL try { // TODO search the path list string wagFolder = Path.GetDirectoryName(wagFilePath); string dllPath = ORTSPaths.FindTrainCarPlugin(wagFolder, wagFile.OpenRails.DLL); Assembly customDLL = Assembly.LoadFrom(dllPath); object[] args = new object[] { wagFilePath }; car = (TrainCar)customDLL.CreateInstance("ORTS.CustomCar", true, BindingFlags.CreateInstance, null, args, null, null); car.Train = train; train.Cars.Add(car); return(car); } catch (Exception error) { Trace.WriteLine(new FileLoadException(wagFile.OpenRails.DLL, error)); // on error, fall through and try loading without the custom dll } } if (!wagFile.IsEngine) { if (wagFilePath.ToLower().Contains("orts_eot")) { car = new EOT(simulator, wagFilePath); } else { // its an ordinary MSTS wagon car = new MSTSWagon(simulator, wagFilePath); } } else { // its an ordinary MSTS engine of some type. if (wagFile.Engine.Type == null) { throw new InvalidDataException(wagFilePath + "\r\n\r\nEngine type missing"); } switch (wagFile.Engine.Type.ToLower()) { // TODO complete parsing of proper car types case "electric": car = new MSTSElectricLocomotive(simulator, wagFilePath); break; case "steam": car = new MSTSSteamLocomotive(simulator, wagFilePath); break; case "diesel": car = new MSTSDieselLocomotive(simulator, wagFilePath); break; case "control": car = new MSTSControlTrailerCar(simulator, wagFilePath); break; default: throw new InvalidDataException(wagFilePath + "\r\n\r\nUnknown engine type: " + wagFile.Engine.Type); } } car.Train = train; if (car is MSTSWagon wagon) { wagon.Load(); if (initialize) { wagon.Initialize(); } } // Loading is complete, the car can be added to the train train.Cars.Add(car); return(car); }
private void UpdateMiniMap(Simulator sim) { if (!this.IsHandleCreated) { return; } if (this.InvokeRequired) { this.BeginInvoke((MethodInvoker) delegate { UpdateMiniMap(sim); }); } else { if (_MapLayer == null) { SetMapLayer(null); } Bitmap bmp = (Bitmap)_MapLayer.Clone(); Graphics g = Graphics.FromImage(bmp); Vector3 myCoarsePos; if (!sim.AvatarPositions.TryGetValue(Client.Self.AgentID, out myCoarsePos)) { return; } int i = 0; lock (_Client.Network.CurrentSim.AvatarPositions.Dictionary) { foreach (KeyValuePair <UUID, Vector3> coarse in _Client.Network.CurrentSim.AvatarPositions.Dictionary) { int x = (int)coarse.Value.X; int y = 255 - (int)coarse.Value.Y; if (coarse.Key == Client.Self.AgentID) { g.FillEllipse(Brushes.Yellow, x - 5, y - 5, 10, 10); g.DrawEllipse(Pens.Khaki, x - 5, y - 5, 10, 10); } else { Pen penColor; Brush brushColor; if (Client.Network.CurrentSim.ObjectsAvatars.Find(delegate(Avatar av) { return(av.ID == coarse.Key); }) != null) { brushColor = Brushes.PaleGreen; penColor = Pens.Green; } else { brushColor = Brushes.LightGray; penColor = Pens.Gray; } if (myCoarsePos.Z - coarse.Value.Z > 1) { Point[] points = new Point[3] { new Point(x - 6, y - 6), new Point(x + 6, y - 6), new Point(x, y + 6) }; g.FillPolygon(brushColor, points); g.DrawPolygon(penColor, points); } else if (myCoarsePos.Z - coarse.Value.Z < -1) { Point[] points = new Point[3] { new Point(x - 6, y + 6), new Point(x + 6, y + 6), new Point(x, y - 6) }; g.FillPolygon(brushColor, points); g.DrawPolygon(penColor, points); } else { g.FillEllipse(brushColor, x - 5, y - 5, 10, 10); g.DrawEllipse(penColor, x - 5, y - 5, 10, 10); } } i++; } ; } g.DrawImage(bmp, 0, 0); this.Image = bmp; } }
public void whenPlaceRobot_Invalid_Y_ThenExceptionThrown() { var simulator = new Simulator(); simulator.Command(Core.Models.CommandEnum.PLACE, "1,b,North"); }
public void whenPlaceRobot_Invalid_Direction_ThenExceptionThrown() { var simulator = new Simulator(); simulator.Command(Core.Models.CommandEnum.PLACE, "1,2,Test"); }
InvokeSaveAsXamlBatchWorkItem( Object arg ) { try { // This logic must be mirrored in IsAsyncWorkPending see remarks. if (!_serializationOperationCanceled) { if (!_isBatchWorkItemInProgress && _batchOperationQueue.Count > 0) { BatchOperationWorkItem batchOperationWorkItem = (BatchOperationWorkItem)_batchOperationQueue.Dequeue(); if (batchOperationWorkItem.OperationType == BatchOperationType.batchWrite) { _currentPageXmlWriter = Simulator.SimulateBeginFixedPage(); ReachSerializer reachSerializer = GetSerializer(batchOperationWorkItem.SerializedObject); if (reachSerializer != null) { // // Prepare the context that is going to be pushed on the stack // SerializationManagerOperationContextStack contextStack = new SerializationManagerOperationContextStack(reachSerializer, batchOperationWorkItem.SerializedObject); // // At this stage, start calling another method which would peak at the stack // _operationStack.Push(contextStack); PostSerializationTask(new DispatcherOperationCallback(InvokeSaveAsXamlBatchWorkItem)); } else { throw new XpsSerializationException(SR.Get(SRID.ReachSerialization_NoSerializer)); } _isBatchWorkItemInProgress = true; } else if (batchOperationWorkItem.OperationType == BatchOperationType.batchCommit) { Simulator.EndConfirmToXPSStructure(IsBatchMode); XPSSerializationCompletionMethod(); } } else { if (_operationStack.Count > 0) { Object objectOnStack = _operationStack.Pop(); if (objectOnStack.GetType() == typeof(System.Windows.Xps.Serialization.SerializationManagerOperationContextStack)) { SerializationManagerOperationContextStack context = (SerializationManagerOperationContextStack)objectOnStack; context.ReachSerializer.SerializeObject(context.SerializedObject); } else if (typeof(System.Windows.Xps.Serialization.ReachSerializerContext).IsAssignableFrom(objectOnStack.GetType())) { ReachSerializerContext context = (ReachSerializerContext)objectOnStack; context.Serializer.AsyncOperation(context); } PostSerializationTask(new DispatcherOperationCallback(InvokeSaveAsXamlBatchWorkItem)); } else { Simulator.SimulateEndFixedPage(_currentPageXmlWriter); _isBatchWorkItemInProgress = false; _currentPageXmlWriter = null; } } } } catch (Exception e) when(!CriticalExceptions.IsCriticalException(e)) { XpsSerializationCompletedEventArgs args = new XpsSerializationCompletedEventArgs(false, // Indicate that an error happened null, e); _serializationOperationCanceled = true; PostSerializationTask(new DispatcherOperationCallback(OnXPSSerializationCompleted), args); } return(null); }
public static string GetTerrainTextureFile(Simulator simulator, string textureName) { return(GetTextureFile(simulator, Helpers.TextureFlags.Snow, simulator.RoutePath + @"\TerrTex", textureName)); }
public static bool Run(CarUFO.AbductSimA ths) { if (ths.Target.InUse) { return(false); } ths.mNPCAbductor = (ths.SimToAbduct != null); if (!ths.mNPCAbductor) { ths.SimToAbduct = ths.GetSelectedObject() as Sim; } if (ths.SimToAbduct == null) { return(false); } ths.StandardEntry(); if (!ths.SetupAbductee()) { ths.StandardExit(); return(false); } Animation.ForceAnimation(ths.Actor.ObjectId, true); Animation.ForceAnimation(ths.Target.ObjectId, true); ths.Target.mTakeOffPos = ths.Actor.Position; if (!ths.Target.RouteToUFOAndTakeOff(ths.Actor)) { ths.StandardExit(); return(false); } Camera.FocusOnGivenPosition(ths.mJig.Position, CarUFO.kAbductLerpParams, true); ths.BeginCommodityUpdates(); bool flag = ths.AbductSim(); ths.EndCommodityUpdates(true); Sim[] sims; if (flag) { EventTracker.SendEvent(EventTypeId.kAbductSimUFO, ths.Actor, ths.SimToAbduct); sims = new Sim[] { ths.Actor, ths.SimToAbduct }; if (ths.mNPCAbductor) { ths.DoTimedLoop(AlienUtils.kAbductionLength, ExitReason.None); } } else { sims = new Sim[] { ths.Actor }; } DateAndTime previous = SimClock.CurrentTime(); Vector3 landRefPos = ths.GetLandingRefPos(ths.mNPCAbductor); while (!ths.Target.TryLandUFOAndExitSims(sims, landRefPos, true)) { Simulator.Sleep(30u); if (SimClock.ElapsedTime(TimeUnit.Minutes, previous) > 30f) { ths.Target.ForceExitUFODueToLandingFailure(sims); break; } } ths.mFromInventory = (ths.mFromInventory || ths.mNPCAbductor); if (ths.mFromInventory) { ths.mFromInventory = ths.Actor.Inventory.TryToAdd(ths.Target); } if (!ths.mFromInventory) { ths.Target.ParkUFO(ths.Actor.LotHome, ths.Actor); } if (flag) { if (ths.mNPCAbductor) { if (AlienUtilsEx.IsImpregnationSuccessful(ths.SimToAbduct, ths.Actor)) { ths.SimToAbduct.SimDescription.Pregnancy = new Pregnancy(ths.SimToAbduct, ths.Actor.SimDescription); ths.SimToAbduct.TraitManager.AddHiddenElement(AlienUtilsEx.sAlienPregnancy); } ths.SimToAbduct.BuffManager.AddElement(BuffNames.Abducted, Origin.FromAbduction); ThoughtBalloonManager.BalloonData data = new ThoughtBalloonManager.BalloonData(ths.Actor.GetThumbnailKey()); data.BalloonType = ThoughtBalloonTypes.kThoughtBalloon; data.LowAxis = ThoughtBalloonAxis.kDislike; data.Duration = ThoughtBalloonDuration.Medium; data.mPriority = ThoughtBalloonPriority.High; ths.SimToAbduct.ThoughtBalloonManager.ShowBalloon(data); ths.SimToAbduct.PlayReaction(AlienUtils.kAbductionReactions[RandomUtil.GetInt(0, AlienUtils.kAbductionReactions.Length - 1)], ReactionSpeed.NowOrLater); ths.SimToAbduct.ShowTNSIfSelectable(CarUFO.LocalizeString(ths.SimToAbduct.IsFemale, "NPCAbductionTNS", new object[] { ths.SimToAbduct.ObjectId }), StyledNotification.NotificationStyle.kGameMessagePositive, ObjectGuid.InvalidObjectGuid, ths.SimToAbduct.ObjectId); } else { Sim.ForceSocial(ths.Actor, ths.SimToAbduct, "Reveal Prank", InteractionPriorityLevel.High, true); } ths.FinishLinkedInteraction(true); } ths.StandardExit(); if (flag) { ths.WaitForSyncComplete(); } return(flag); }
public Confirmer(Simulator simulator, double defaultDurationS) { //TODO 2020-01-14 this needs to be synced and moved up to Orts.Common.Enums.CabControl Simulator = simulator; DefaultDurationS = defaultDurationS; Func <string, string> GetString = (value) => Simulator.Catalog.GetString(value); Func <string, string, string> GetParticularString = (context, value) => Simulator.Catalog.GetParticularString(context, value); // The following list needs to be in the same order as the list above under CabControl ConfirmText = new string[][] { new string [] { GetString("<none>") } // Power , new string [] { GetParticularString("NonSteam", "Reverser"), GetString("reverse"), GetString("neutral"), GetString("forward"), null, null, GetString("locked. Close throttle, stop train then re-try.") } , new string [] { GetString("Throttle"), null, null, null, GetString("close"), GetString("open"), GetString("locked. Release dynamic brake then re-try.") } , new string [] { GetString("Wheel-slip"), GetString("over"), null, GetString("occurring. Tractive power greatly reduced."), null, null, GetString("warning") } // Electric power , new string [] { GetString("Power"), GetString("off"), null, GetString("on") } , new string [] { GetString("Pantograph 1"), GetString("lower"), null, GetString("raise") } , new string [] { GetString("Pantograph 2"), GetString("lower"), null, GetString("raise") } , new string [] { GetString("Pantograph 3"), GetString("lower"), null, GetString("raise") } , new string [] { GetString("Pantograph 4"), GetString("lower"), null, GetString("raise") } , new string [] { GetString("Circuit breaker"), GetString("open"), null, GetString("close") } , new string [] { GetString("Circuit breaker"), GetString("close"), null, GetString("open") } , new string [] { GetString("Circuit breaker closing authorization"), GetString("remove"), null, GetString("give") } // Diesel power , new string [] { GetString("Player Diesel Power"), GetString("off"), null, GetString("on"), null, null, GetString("locked. Close throttle then re-try.") } , new string [] { GetString("Helper Diesel Power"), GetString("off"), null, GetString("on") } , new string [] { GetString("Diesel Tank"), null, null, GetString("re-fueled"), null, GetString("level") } , new string [] { GetString("Boiler Water Tank"), null, null, GetString("re-fueled"), null, GetString("level") } // Steam power , new string [] { GetParticularString("Steam", "Reverser"), GetString("reverse"), GetString("neutral"), GetString("forward"), null, null, GetString("locked. Close throttle, stop train then re-try.") } , new string [] { GetString("Regulator"), null, null, null, GetString("close"), GetString("open") } // Throttle for steam locomotives , new string [] { GetString("Injector 1"), GetString("off"), null, GetString("on"), GetString("close"), GetString("open") } , new string [] { GetString("Injector 2"), GetString("off"), null, GetString("on"), GetString("close"), GetString("open") } , new string [] { GetString("Blowdown Valve"), GetString("close"), null, GetString("open") } , new string [] { GetString("Blower"), null, null, null, GetString("decrease"), GetString("increase") } , new string [] { GetString("SteamHeat"), null, null, null, GetString("decrease"), GetString("increase") } , new string [] { GetString("Damper"), null, null, null, GetString("close"), GetString("open") } , new string [] { GetString("Firebox Door"), null, null, null, GetString("close"), GetString("open") } , new string [] { GetString("Firing Rate"), null, null, null, GetString("decrease"), GetString("increase") } , new string [] { GetString("Manual Firing"), GetString("off"), null, GetString("on") } , new string [] { GetString("Fire"), null, null, GetString("add shovel-full") } , new string [] { GetString("Cylinder Cocks"), GetString("close"), null, GetString("open") } , new string [] { GetString("Cylinder Compound"), GetString("close"), null, GetString("open") } , new string [] { GetString("LargeEjector"), null, null, null, GetString("decrease"), GetString("increase") } , new string [] { GetString("SmallEjector"), null, null, null, GetString("decrease"), GetString("increase") } , new string [] { GetString("VacuumExhauster"), GetString("normal"), null, GetString("fast") } , new string [] { GetString("Tender"), null, null, GetString("Coal re-filled"), null, GetString("Coal level") } , new string [] { GetString("Tender"), null, null, GetString("Water re-filled"), null, GetString("Water level") } // General , new string [] { GetString("Water Scoop"), GetString("up"), null, GetString("down") } // Braking , new string [] { GetString("Train Brake"), null, null, null, GetString("release"), GetString("apply") } , new string [] { GetString("Engine Brake"), null, null, null, GetString("release"), GetString("apply") } , new string [] { GetString("Brakeman Brake"), null, null, null, GetString("release"), GetString("apply") } , new string [] { GetString("Dynamic Brake"), GetString("off"), null, GetString("setup"), GetString("decrease"), GetString("increase") } , new string [] { GetString("Emergency Brake"), GetString("release"), null, GetString("apply") } , new string [] { GetString("Bail Off"), GetString("disengage"), null, GetString("engage") } , new string [] { GetString("Brakes"), GetString("initialize"), null, null, null, null, GetString("cannot initialize. Stop train then re-try.") } , new string [] { GetString("Handbrake"), GetString("none"), null, GetString("full") } , new string [] { GetString("Retainers"), GetString("off"), null, GetString("on"), null, null, null, null, GetString("Exhaust"), GetString("High Pressure"), GetString("Low Pressure"), GetString("Slow Direct") } , new string [] { GetString("Brake Hose"), GetString("disconnect"), null, GetString("connect") } , new string [] { GetString("Quick Release"), GetString("off"), null, GetString("on") } , new string [] { GetString("Overcharge"), GetString("off"), null, GetString("on") } // Cab Devices , new string [] { GetString("Sander"), GetString("off"), null, GetString("on") } , new string [] { GetString("Alerter"), GetString("acknowledge"), null, GetParticularString("Alerter", "sound") } , new string [] { GetString("Horn"), GetString("off"), null, GetParticularString("Horn", "sound") } , new string [] { GetString("Whistle"), GetString("off"), null, GetString("blow") } // Horn for steam locomotives , new string [] { GetString("Bell"), GetString("off"), null, GetString("ring") } , new string [] { GetString("Headlight"), GetString("off"), GetString("dim"), GetString("bright") } , new string [] { GetString("Cab Light"), GetString("off"), null, GetString("on") } , new string [] { GetString("Wipers"), GetString("off"), null, GetString("on") } , new string [] { GetString("Cab"), null, null, GetParticularString("Cab", "change"), null, null, GetString("changing is not available"), GetString("changing disabled. Close throttle, set reverser to neutral, stop train then re-try.") } , new string [] { GetString("Odometer"), null, null, GetParticularString("Odometer", "reset"), GetParticularString("Odometer", "counting down"), GetParticularString("Odometer", "counting up") } // Train Devices , new string [] { GetString("Doors Left"), GetString("close"), null, GetString("open") } , new string [] { GetString("Doors Right"), GetString("close"), null, GetString("open") } , new string [] { GetString("Mirror"), GetString("retract"), null, GetString("extend") } // Track Devices , new string [] { GetString("Switch Ahead"), null, null, GetParticularString("Switch", "change"), null, null, GetString("locked. Use Control+M to change signals to manual mode then re-try.") } , new string [] { GetString("Switch Behind"), null, null, GetParticularString("Switch", "change"), null, null, GetString("locked. Use Control+M to change signals to manual mode then re-try.") } // Simulation , new string [] { GetString("Simulation Speed"), GetString("reset"), null, null, GetString("decrease"), GetString("increase") } , new string [] { GetString("Uncouple After") } , new string [] { GetString("Activity"), GetString("quit"), null, GetString("resume") } , new string [] { GetString("Replay"), null, null, null, null, null, GetString("Overriding camera replay. Press Escape to resume camera replay.") } , new string [] { GetString("Gearbox"), null, null, null, GetString("down"), GetString("up"), GetString("locked. Use shaft before changing gear.") } , new string [] { GetString("Signal mode"), GetString("manual"), null, GetString("auto"), null, null, GetString("locked. Stop train, then re-try.") } // Freight Load , new string [] { GetString("Wagon"), GetString("Wagon fully unloaded"), null, GetString("Wagon fully loaded"), null, GetString("Freight load") } , new string [] { GetString("Cab Radio"), GetString("off"), null, GetString("on") } }; Debug.Assert(ConfirmText.Length == Enum.GetNames(typeof(CabControl)).Length, "Number of entries indexer ConfirmText must match values in CabControl enum."); }
static void Main(string[] args) { // Create A, B, C, D matrices double[,] matrixA = new double[2, 2]; matrixA[0, 0] = 1; matrixA[0, 1] = 0; matrixA[1, 0] = 0; matrixA[1, 1] = 1; double[,] matrixB = new double[2, 1]; matrixB[0, 0] = 1; matrixB[1, 0] = 0; double[,] matrixC = new double[1, 2]; matrixC[0, 0] = 1; matrixC[0, 1] = 0; double[,] matrixD = new double[1, 1]; matrixD[0, 0] = 0; // Create a continuous time system CTModel ctSystem = new CTModel(matrixA, matrixB, matrixC, matrixD); // Define sampling time double ts = 0.01d; // Transfer continuous time system to discrete time system DTModel dtSystem = ctSystem.ToDiscreteTimeSystem(ts); // Define a complex number array ComplexNumber[] newPoleLocation = new ComplexNumber[matrixA.GetLength(1)]; // Place new poles to 0.5 + 0.5j and 0.5 - 0.5j newPoleLocation[0] = new ComplexNumber(0.5, 0.5); newPoleLocation[1] = new ComplexNumber(0.5, -0.5); // Create a state feed back controller StateFeedBack stateFeedBack = new StateFeedBack(); // Calculate state feed back gain double[,] Kc = stateFeedBack.PolePlacement(ctSystem, newPoleLocation); double[,] Kd = stateFeedBack.PolePlacement(dtSystem, newPoleLocation); // Calculate AutoTune state feed back gain //double[,] Kc2 = stateFeedBack.CTModelAutoTune(ctSystem); //Simulate the closed loop step response Simulator simulator = new Simulator(); simulator.ClosedStepResponse(ctSystem, Kc); simulator.ClosedStepResponse(dtSystem, Kd); //simulator.ClosedStepResponse(ctSystem, K2); // Define a complex number array ComplexNumber[] estPoleLocation = new ComplexNumber[matrixA.GetLength(1)]; // Place poles to 5 + 1j and 5 - 1j estPoleLocation[0] = new ComplexNumber(5, 1); estPoleLocation[1] = new ComplexNumber(5, -1); // Create a state estimator StateEstimator stateEstimator = new StateEstimator(); // Calculate state feed back gain double[,] Lc = stateEstimator.Observer(ctSystem, estPoleLocation); double[,] Ld = stateEstimator.Observer(dtSystem, estPoleLocation); //Simulate the closed loop step response for observer based state feedback system simulator.StateFeedBackEstimatorStepResponse(ctSystem, Kc, Lc); simulator.StateFeedBackEstimatorStepResponse(dtSystem, Kd, Ld); Console.ReadKey(); }
static void Main(string[] args) { #region Load data Console.InputEncoding = Encoding.UTF8; Console.OutputEncoding = Encoding.UTF8; int nbReplications; //Number of replications //DomainCreator is an object creating all other objects. //It is supposed to be inherited by custom domain implementations. //(Example here for a 'basic' domain). DomainCreator basicCreator = new BasicCreator(); //SimulationDataSet is the central class for all simulation data input. //It is supposed to be inherited by custom domain implementations. SimulationDataSet simulationDataSet; try { nbReplications = args.Length > 0 ? Int32.Parse(args[0]) : 1; if (args.Length <= 1) { //Usage 1 Console.WriteLine("Load data from standard input…\t({0})", DateTime.Now.ToString("o", CultureInfo.InvariantCulture)); simulationDataSet = basicCreator.LoadSimulationDataSetFromSingleXmlString(Console.In); } else if (args.Length == 5) { //Usage 2 Console.WriteLine("Load data from files…\t({0})", DateTime.Now.ToString("o", CultureInfo.InvariantCulture)); simulationDataSet = basicCreator.LoadSimulationDataSetFromXml(path: args[1], workplaceName: args[2], scenarioName: args[3], crewName: args[4]); } else { throw new ArgumentException("Invalid number of arguments!"); } } catch (Exception e) { Console.Error.WriteLine(e); Console.Error.WriteLine(); Console.Error.WriteLine(Usage); return; } #endregion #region Prepare simulation Console.WriteLine("Prepare simulation…\t({0})", DateTime.Now.ToString("o", CultureInfo.InvariantCulture)); //Prepare the simulation input data: //For some tasks, automatically create one task instance per crewman. simulationDataSet.AutoExpandTasks(); //For some tasks, automatically create one task instance per crewman //A dispatcher contains the logic for task dispatch (assignment strategy). //It is possible to implement custom dispatchers. DomainDispatcher dispatcher = new BasicDispatcher(simulationDataSet); dispatcher.OnTaskAssignment += (simulationTime, phase, crewman, task) => { //Event when a task is assigned to a crewman (task is null when ideling) Console.WriteLine("{0}\t{1}\t{2}\t{3}", simulationTime.ToStringUI(), phase, crewman, task == null ? "-" : task.ToString()); //Room to do something more with this event… }; //The Simulator class is the simulation engine. //This one is _not_ supposed to be inherited. var simulator = new Simulator(simulationDataSet); simulator.OnErrorMessage += (text) => Console.Error.WriteLine(text); simulator.OnPhaseTransitionBegin += (phase, nextPhase, currentSimulationTime) => { //Event when starting a transition to the next phase of the scenario if (nextPhase == null) { Console.WriteLine("{0}\t\tEnd of scenario.", currentSimulationTime.ToStringUI()); } else { Console.WriteLine("{0}\t{1}…", currentSimulationTime.ToStringUI(), nextPhase); } //Room to do something more with this event… }; #endregion #region Run simulation var stopwatch = Stopwatch.StartNew(); for (var n = 1; n <= nbReplications; n++) { Console.WriteLine("Start simulation #{0}:\t{1}, {2}, {3}…\t({4})", nbReplications, simulationDataSet.Workplace.Name, simulationDataSet.Crew.Name, simulationDataSet.Scenario.Name, DateTime.Now.ToString("o", CultureInfo.InvariantCulture)); if (!simulator.Run(timeOrigin: SimulationTime.Zero, domainDispatcher: dispatcher)) { Console.Error.WriteLine("Error while running simulation {0}!", nbReplications); break; } Console.WriteLine(); } stopwatch.Stop(); #endregion #region Display some statistics Console.WriteLine("==== Example of statistics: cumulated work time ===="); //Display some basic statistics. It is up to implementors to gather more statistics. foreach (var crewman in simulationDataSet.Crew.Values) { Console.WriteLine("Crewman {0}:\t{1}", crewman, crewman.CumulatedWorkTime.ToStringUI()); } Console.WriteLine(); #endregion #region Display some performance statistics Console.WriteLine("==== Performance ===="); Console.WriteLine("{0}-bit process of '.NET {1}' on '{2}' running '{3}'", Environment.Is64BitProcess ? 64 : 32, Environment.Version, Environment.MachineName, Environment.OSVersion); Console.WriteLine("Simulation duration:\t{0}", stopwatch.Elapsed.ToString()); var process = Process.GetCurrentProcess(); Console.WriteLine("Total processor time:\t{0}", process.TotalProcessorTime); Console.WriteLine("Peak paged memory usage:\t{0}", process.PeakPagedMemorySize64); Console.WriteLine("End.\t({0})", DateTime.Now.ToString("o", CultureInfo.InvariantCulture)); #endregion }
private void BalanceHandler(Packet packet, Simulator simulator) { string value = ((MoneyBalanceReplyPacket)packet).MoneyData.MoneyBalance.ToString(); this.BeginInvoke(new StringParamInvoker(UpdateBalance), new object[] { value }); }
/// <summary> /// Updates the _kinematicSpaceWidth, _kinematicSpaceHeight, minX, maxX, minY, maxY /// </summary> /// <param name="pmks">The PMKS.</param> internal void UpdateRanges(Simulator pmks) { if (pmks == null) { return; } var origMinX = minX = -DisplayConstants.AxesBuffer; var origMinY = minY = -DisplayConstants.AxesBuffer; var origMaxX = maxX = DisplayConstants.AxesBuffer; var origMaxY = maxY = DisplayConstants.AxesBuffer; for (int i = 0; i < pmks.NumJoints; i++) { if (origMinX > pmks.JointParameters.Parameters[0][i, 0]) { origMinX = pmks.JointParameters.Parameters[0][i, 0]; } if (origMinY > pmks.JointParameters.Parameters[0][i, 1]) { origMinY = pmks.JointParameters.Parameters[0][i, 1]; } if (origMaxX < pmks.JointParameters.Parameters[0][i, 0]) { origMaxX = pmks.JointParameters.Parameters[0][i, 0]; } if (origMaxY < pmks.JointParameters.Parameters[0][i, 1]) { origMaxY = pmks.JointParameters.Parameters[0][i, 1]; } } for (int j = 0; j < pmks.JointParameters.Count; j++) { for (int i = 0; i < pmks.NumJoints; i++) { if (minX > pmks.JointParameters.Parameters[j][i, 0]) { minX = pmks.JointParameters.Parameters[j][i, 0]; } if (minY > pmks.JointParameters.Parameters[j][i, 1]) { minY = pmks.JointParameters.Parameters[j][i, 1]; } if (maxX < pmks.JointParameters.Parameters[j][i, 0]) { maxX = pmks.JointParameters.Parameters[j][i, 0]; } if (maxY < pmks.JointParameters.Parameters[j][i, 1]) { maxY = pmks.JointParameters.Parameters[j][i, 1]; } } } if ((maxX - minX) > 3 * (origMaxX - origMinX)) { _kinematicSpaceWidth = 3 * (origMaxX - origMinX); minX = origMinX - (origMaxX - origMinX); maxX = origMaxX + (origMaxX - origMinX); } else { _kinematicSpaceWidth = (maxX - minX); } if ((maxY - minY) > 3 * (origMaxY - origMinY)) { _kinematicSpaceHeight = 3 * (origMaxY - origMinY); minY = origMinY - (origMaxY - origMinY); maxY = origMaxY + (origMaxY - origMinY); } else { _kinematicSpaceHeight = (maxY - minY); } }
public void whenRobotIsNotPlaced_RunOtherCommand_ThenExceptionThrown() { var simulator = new Simulator(); simulator.Command(Core.Models.CommandEnum.MOVE); }
internal void DrawStaticShapes(Simulator pmks, ObservableCollection <JointData> jointData) { Children.Clear(); Children.Add(axes); initialPositionIcons.Clear(); for (int index = 0; index < pmks.Joints.Count; index++) { var j = pmks.Joints[index]; var isDriver = (index == App.main.drivingIndex); JointData jointRowData = (index < jointData.Count) ? jointData[index] : null; InputJointBaseShape inputJointBaseShape = null; switch (j.TypeOfJoint) { case JointType.R: inputJointBaseShape = new InputRJointShape(jointSize, penThick, j.xInitial, j.yInitial, XAxisOffset, YAxisOffset, j.IsGround, isDriver, index, jointRowData); break; case JointType.P: inputJointBaseShape = new InputPJointShape(jointSize, penThick, j.xInitial, j.yInitial, XAxisOffset, YAxisOffset, j.SlideAngleInitial, j.IsGround, isDriver, index, jointRowData); break; case JointType.RP: inputJointBaseShape = new InputRPJointShape(jointSize, penThick, j.xInitial, j.yInitial, XAxisOffset, YAxisOffset, j.SlideAngleInitial, j.IsGround, index, jointRowData); break; case JointType.G: inputJointBaseShape = new InputGJointShape(jointSize, penThick, j.xInitial, j.yInitial, XAxisOffset, YAxisOffset, j.SlideAngleInitial, j.IsGround, index, jointRowData); break; } Children.Add(inputJointBaseShape); initialPositionIcons.Add(inputJointBaseShape); } /* remove old ground shapes */ Children.Remove(groundLinkShape); groundLinkShape = new GroundLinkShape(pmks.GroundLink, XAxisOffset, YAxisOffset, penThick, jointSize, DisplayConstants.DefaultBufferRadius / ScaleFactor); Children.Add(groundLinkShape); /* now add the link shapes */ for (int i = 0; i < pmks.NumLinks; i++) { if (!pmks.Links[i].name.Equals("ground")) { Children.Add(new LinkShape(i, pmks.Links[i], XAxisOffset, YAxisOffset, penThick, jointSize, null, DisplayConstants.DefaultBufferRadius / ScaleFactor)); } } if (TargetPath != null) { Children.Remove(TargetPath); TargetPath.RenderTransform = new TranslateTransform { X = XAxisOffset, Y = YAxisOffset }; Children.Add(TargetPath); } }
public override bool Run() { CarService car = ((Definition)base.InteractionDefinition).Car; try { if (!Actor.HasBeenDestroyed) { bool Ok; if (car != null) { Ok = CarNpcManager.Singleton.DriveAwayInNpcCar(car, Actor, Target); if (Ok) { car.GetOut(Actor); } if (Actor.SimDescription.VirtualLotHome != null) { Sim.MakeSimGoHome(Actor, false); return(true); } if (!Ok) { Ok = WalkOffLot(); } } else { if (Actor.SimDescription.VirtualLotHome != null) { Sim.MakeSimGoHome(Actor, false); return(true); } Ok = WalkOffLot(); } return(Ok); } return(false); } finally { NiecTask.Perform(delegate { if (car == null || car.Passengers == null) { return; } car.GetOut(Actor); Actor.FadeOut(); Sim[] copypa = (Sim[])car.Passengers.Clone(); foreach (var item in copypa) { if (item == null) { continue; } //item.AddToWorld(); //item.FadeIn(); car.GetOut(item); item.FadeOut(); } Simulator.Sleep(100); foreach (var item in copypa) { if (item == null) { continue; } item.AddToWorld(); item.FadeIn(); } if (car != null) { car.Destroy(); } Actor.AddToWorld(); Actor.FadeIn(); }); } }
public static void SynchronizeListWithCreation <Tdb, TJson>([ItemNotNull][NotNull] ObservableCollection <Tdb> dbitems, [ItemNotNull][NotNull] List <TJson> jsonItems, Func <TJson, Simulator, Tdb> AddNewObjectFromJto, Simulator sim) where Tdb : DBBase, IJSonSubElement <TJson> where TJson : IGuidObject { var jsonGuids = jsonItems.Select(x => x.Guid).ToHashSet(); List <Tdb> dbItemsToRemove = new List <Tdb>(); foreach (var dbitem in dbitems) { if (!jsonGuids.Contains(dbitem.RelevantGuid)) { dbItemsToRemove.Add(dbitem); } } foreach (Tdb dbBase in dbItemsToRemove) { dbBase.DeleteFromDB(); dbitems.Remove(dbBase); } var dbGuids = dbitems.Select(x => x.RelevantGuid).ToHashSet(); foreach (var jsonItem in jsonItems) { if (!dbGuids.Contains(jsonItem.Guid)) { var obj = AddNewObjectFromJto(jsonItem, sim); Logger.Info("Created new object " + jsonItem.Guid + " of type " + typeof(Tdb).Name); obj.SynchronizeDataFromJson(jsonItem, sim); Logger.Info("Synchronized item " + obj.Guid + " of type " + typeof(Tdb).Name); } else { var itemToSync = dbitems.Single(x => x.RelevantGuid == jsonItem.Guid); itemToSync.SynchronizeDataFromJson(jsonItem, sim); } } dbitems.Sort(); }
/// <summary> /// Initializes all ScriptCore classes that data to the App Domain /// and initialize any other static members in Sims3.SimIFace classes. /// </summary> public static void Initialize() { if (!sInitialized) { if (gAnimation == null) { gAnimation = new Animation(); } if (gAudio == null) { gAudio = new Audio(); } if (gAutomationUtils == null) { gAutomationUtils = new AutomationUtils(); } if (gCacheManager == null) { gCacheManager = new CacheManager(); } if (gCameraController == null) { gCameraController = new CameraController(); } if (gCASUtils == null) { gCASUtils = new CASUtils(); } if (gCommandSystem == null) { gCommandSystem = new CommandSystem(); } if (gCTProductModularObject == null) { gCTProductModularObject = new CTProductModularObject(); } if (gDataFactory == null) { gDataFactory = new DataFactory(); } if (gDebugDraw == null) { gDebugDraw = new DebugDraw(); } if (gDeviceConfig == null) { gDeviceConfig = new DeviceConfig(); } if (gDownloadContent == null) { gDownloadContent = new DownloadContent(); } if (gEAText == null) { gEAText = new EAText(); } if (gEATrace == null) { gEATrace = new EATrace(); } if (gEventQueueInitializer == null) { gEventQueueInitializer = new EventQueueInitializer(); } if (gGameUtils == null) { gGameUtils = new GameUtils(); } if (gLoadSaveManager == null) { gLoadSaveManager = new LoadSaveManager(); } if (gLocalizedStringService == null) { gLocalizedStringService = new LocalizedStringService(); } if (gLookAtMgr == null) { gLookAtMgr = new LookAtMgr(); } if (gNameGuidMapService == null) { gNameGuidMapService = new NameGuidMapService(); } if (gObjects == null) { gObjects = new Objects(); } if (gOnlineFeatures == null) { gOnlineFeatures = new OnlineFeatures(); } //if (gProfilerUtils == null) gProfilerUtils = new ProfilerUtils(); if (gQueries == null) { gQueries = new Queries(); } if (gRandom == null) { gRandom = new ScriptCore.Random(); } if (gReflection == null) { gReflection = new ScriptCore.Reflection(); } if (gRouteManager == null) { gRouteManager = new RouteManager(); } if (gSACS == null) { gSACS = new SACS(); } if (gSimulator == null) { gSimulator = new Simulator(); } if (gSlots == null) { gSlots = new Slots(); } if (gSocialFeatures == null) { gSocialFeatures = new SocialFeatures(); } if (gStopWatch == null) { gStopWatch = new StopWatch(); } if (gStreamHost == null) { gStreamHost = new StreamHost(); } if (gSwarm == null) { gSwarm = new Swarm(); } if (gThumbnailManager == null) { gThumbnailManager = new ThumbnailManager(); } if (gUIManager == null) { gUIManager = new UIManager(); } if (gUserToolUtils == null) { gUserToolUtils = new UserToolUtils(); } if (gVideoRecorder == null) { gVideoRecorder = new VideoRecorder(); } if (gWorld == null) { gWorld = new World(); } // Will this still be reached if any of the constructors throw an Exception? Hopefully not sInitialized = true; } }
internal void DrawDynamicShapes(Simulator pmks, ObservableCollection <JointData> jointData, Slider timeSlider) { #region draw position, velocity, and acceleration curves timeSlider.Maximum = pmks.EndTime; App.main.maxTimeText.Text = timeSlider.Maximum.ToString("F"); timeSlider.Minimum = pmks.BeginTime; App.main.minTimeText.Text = timeSlider.Minimum.ToString("F"); var h = (timeSlider.ActualHeight == 0) ? ParentHeight : timeSlider.ActualHeight; timeSlider.LargeChange = (timeSlider.Maximum - timeSlider.Minimum) * DisplayConstants.TickDistance / h; timeSlider.SmallChange = (timeSlider.Maximum - timeSlider.Minimum) / 1000; timeSlider.Value = 0.0; /************ creating the shapes ***************/ foreach (var child in Children) { if (child is LinkShape) { ((LinkShape)child).SetBindings(timeSlider, pmks, XAxisOffset, YAxisOffset); } } for (int i = 0; i < pmks.NumJoints; i++) { var jt = pmks.Joints[i]; if (jt.FixedWithRespectTo(pmks.GroundLink)) { continue; } Children.Add(new PositionPath(i, pmks.JointParameters, jointData[i], XAxisOffset, YAxisOffset, pmks.CycleType == CycleTypes.OneCycle, penThick)); DynamicJointBaseShape displayJoint; switch (jt.TypeOfJoint) { case JointType.P: var fixedLink = pmks.Joints[i].Link2; displayJoint = new PJointShape(pmks.Joints[i], fixedLink, timeSlider, pmks, jointSize, penThick, XAxisOffset, YAxisOffset); break; default: displayJoint = new RJointShape(pmks.Joints[i], timeSlider, pmks, jointSize, penThick, XAxisOffset, YAxisOffset); break; } if (App.main.drivingIndex == i) { displayJoint.Stroke = new SolidColorBrush { Color = Color.FromArgb(180, 40, 255, 0) }; displayJoint.StrokeThickness = 30.0; } Children.Add(displayJoint); Children.Add(new AccelerationVector(pmks.Joints[i], timeSlider, pmks, AccelFactor, penThick, XAxisOffset, YAxisOffset, displayJoint, jointData[i])); Children.Add(new VelocityVector(pmks.Joints[i], timeSlider, pmks, VelocityFactor, penThick, XAxisOffset, YAxisOffset, displayJoint, jointData[i])); } /******************************************************************/ #endregion var duration = new Duration(TimeSpan.FromSeconds(timeSlider.Maximum - timeSlider.Minimum)); var timeAnimation = new DoubleAnimation { From = timeSlider.Minimum, To = timeSlider.Maximum, Duration = duration, AutoReverse = pmks.CycleType != CycleTypes.OneCycle, RepeatBehavior = RepeatBehavior.Forever }; animateMechanismStoryBoard = new Storyboard { Duration = duration, AutoReverse = pmks.CycleType != CycleTypes.OneCycle, RepeatBehavior = RepeatBehavior.Forever }; animateMechanismStoryBoard.Children.Add(timeAnimation); Storyboard.SetTarget(timeAnimation, timeSlider); Storyboard.SetTargetProperty(timeAnimation, new PropertyPath(RangeBase.ValueProperty)); if ((bool)App.main.PlayButton.IsChecked) { animateMechanismStoryBoard.Begin(); } }
SaveAsXaml( Object serializedObject ) { if (serializedObject == null) { throw new ArgumentNullException(nameof(serializedObject)); } if (!XpsSerializationManager.IsSerializedObjectTypeSupported(serializedObject, IsBatchMode)) { throw new XpsSerializationException(SR.Get(SRID.ReachSerialization_NotSupported)); } if (Simulator == null) { Simulator = new XpsOMHierarchySimulator(this, serializedObject); } if (!IsSimulating) { Simulator.BeginConfirmToXPSStructure(IsBatchMode); IsSimulating = true; } if (IsBatchMode) { // // Add the Visual received in to the queue // BatchOperationWorkItem batchOperationWorkItem = new BatchOperationWorkItem(BatchOperationType.batchWrite, serializedObject); _batchOperationQueue.Enqueue(batchOperationWorkItem); PostSerializationTask(new DispatcherOperationCallback(InvokeSaveAsXamlBatchWorkItem)); } else { ReachSerializer reachSerializer = GetSerializer(serializedObject); if (reachSerializer != null) { // // Prepare the context that is going to be pushed on the stack // SerializationManagerOperationContextStack contextStack = new SerializationManagerOperationContextStack(reachSerializer, serializedObject); // // At this stage, start calling another method which would peak at the stack // _operationStack.Push(contextStack); PostSerializationTask(new DispatcherOperationCallback(InvokeSaveAsXamlWorkItem)); } else { throw new XpsSerializationException(SR.Get(SRID.ReachSerialization_NoSerializer)); } } }
public void whenPlaceRobot_X_OutOfBoundary_ThenExceptionThrown() { var simulator = new Simulator(); simulator.Command(Core.Models.CommandEnum.PLACE, "10,2,North"); }
public static string GetForestTextureFile(Simulator simulator, string textureName) { return(GetRouteTextureFile(simulator, Helpers.TextureFlags.Spring | Helpers.TextureFlags.Autumn | Helpers.TextureFlags.Winter | Helpers.TextureFlags.SpringSnow | Helpers.TextureFlags.AutumnSnow | Helpers.TextureFlags.WinterSnow, textureName)); }
public MSTSElectricLocomotive(Simulator simulator, string wagFile) : base(simulator, wagFile) { PowerSupply = new ScriptedElectricPowerSupply(this); }