public IRoom ToItem(AGSSerializationContext context) { TypedParameter idParam = new TypedParameter(typeof(string), ID); TypedParameter edgesParam = new TypedParameter(typeof(IAGSEdges), Edges.ToItem(context)); IRoom room = context.Resolver.Container.Resolve <IRoom>(idParam, edgesParam); room.ShowPlayer = ShowPlayer; room.Background = Background.ToItem(context); foreach (var obj in Objects) { room.Objects.Add(obj.ToItem(context)); } room.Properties.CopyFrom(Properties.ToItem(context)); if (Areas != null) { foreach (var area in Areas) { room.Areas.Add(area.ToItem(context)); } } IAGSEdges edges = room.Edges as IAGSEdges; if (edges != null) { edges.FromEdges(Edges.ToItem(context)); } room.BackgroundColor = BackgroundColor == null ? (Color?)null : Color.FromHexa(BackgroundColor.Value); return(room); }
public void Init() { _left = new AGSEdge { Value = 100 }; _right = new AGSEdge { Value = 200 }; _top = new AGSEdge { Value = 200 }; _bottom = new AGSEdge { Value = 100 }; _edges = new AGSEdges (_left, _right, _top, _bottom); _mocks = Mocks.Init(); }
#pragma warning restore CS0067 public AGSRoom(string id, IAGSEdges edges, IGameEvents gameEvents, IRoomEvents roomEvents, IGameState state, ICustomProperties properties, IRoomLimitsProvider roomLimitsProvider) { _state = state; RoomLimitsProvider = roomLimitsProvider; _gameEvents = gameEvents; Events = roomEvents; ID = id; Objects = new AGSConcurrentHashSet <IObject>(); Areas = new AGSBindingList <IArea>(5); ShowPlayer = true; _edges = edges; Properties = properties; gameEvents.OnRepeatedlyExecute.Subscribe(onRepeatedlyExecute); }
public void Init() { _left = new AGSEdge { Value = 100 }; _right = new AGSEdge { Value = 200 }; _top = new AGSEdge { Value = 200 }; _bottom = new AGSEdge { Value = 100 }; _edges = new AGSEdges(_left, _right, _top, _bottom); _mocks = Mocks.Init(); }
public AGSRoom(string id, IViewport viewport, IAGSEdges edges, IGameEvents gameEvents, IRoomEvents roomEvents, IGameState state, ICustomProperties properties, IRoomLimitsProvider roomLimitsProvider) { _sorter = new RenderOrderSelector { Backwards = true }; _state = state; RoomLimitsProvider = roomLimitsProvider; _gameEvents = gameEvents; Viewport = viewport; Events = roomEvents; ID = id; Objects = new AGSConcurrentHashSet <IObject> (); Areas = new List <IArea> (); ShowPlayer = true; _edges = edges; Properties = properties; gameEvents.OnRepeatedlyExecute.Subscribe(onRepeatedlyExecute); }