async Task<string> Drop(Thing thing) { if ( killed ) return await CheckAlive(); if (thing != null) { this.things.Remove(thing); await this.roomGrain.Drop(thing); return "Okay."; } else return "I don't understand."; }
private async Task MakeThing(Thing thing) { var roomGrain = GrainClient.GrainFactory.GetGrain<IRoomGrain>(thing.FoundIn); await roomGrain.Drop(thing); }
Task IRoomGrain.Take(Thing thing) { things.RemoveAll(x => x.Name == thing.Name); return TaskDone.Done; }
Task IRoomGrain.Drop(Thing thing) { things.RemoveAll(x => x.Id == thing.Id); things.Add(thing); return TaskDone.Done; }