public Mower(IGarden garden, CoOrdinate position, char heading) { _garden = garden; Position = position; Heading = heading; }
protected override Task OnActivateAsync() { if (!(this.StateManager.ContainsStateAsync("CurrentLocation").Result)) { this.StateManager.AddStateAsync("CurrentLocation", Location.Outside); this.House = ActorProxy.Create <IHouse>(new ActorId(100), "fabric:/FabricSmartHome"); this.Garden = ActorProxy.Create <IGarden>(new ActorId(101), "fabric:/FabricSmartHome"); this.Kitchen = ActorProxy.Create <IKitchen>(new ActorId(102), "fabric:/FabricSmartHome"); this.Bedroom = ActorProxy.Create <IBedroom>(new ActorId(103), "fabric:/FabricSmartHome"); this.RegisterReminderAsync("HandleMovementTimeout", null, TimeSpan.FromSeconds(2), TimeSpan.FromSeconds(5)); this.RegisterReminderAsync("HandleActionTimeout", null, TimeSpan.FromSeconds(2), TimeSpan.FromSeconds(5)); } return(base.OnActivateAsync()); }
/// <summary> /// Gets Daisy's position /// </summary> /// <param name="garden">Garden</param> /// <returns>Daisy's position if successful, otherwise position zero</returns> private static IPosition GetDaisysPosition(IGarden garden) { IPosition ret = null; Assert.IsNotNull(garden); foreach (IEntity entity in garden.Entities) { Assert.IsNotNull(entity); if (entity.Type == EEntityType.Daisy) { ret = entity.Position; break; } } Assert.IsNotNull(ret); return(ret); }
public Mower(IGarden garden):this(garden, new CoOrdinate {X=0, Y=0 }, 'N') { }