public override void Initialize(SS14Window window, ViewVariablesBlobMetadata blob, ViewVariablesRemoteSession session) { Session = session; _wrappingInit(window, $"[SERVER] {blob.Stringified}", blob.ObjectTypePretty); foreach (var trait in TraitsFor(blob.Traits)) { trait.Initialize(this); _traits.Add(trait); } _refresh(); }
public override async void Initialize(DefaultWindow window, ViewVariablesBlobMetadata blob, ViewVariablesRemoteSession session) { // TODO: this is pretty poorly implemented right now. // For example, it assumes a client-side entity exists, // so it also means client bubbling won't work in this context. _entitySession = session; _membersBlob = await ViewVariablesManager.RequestData <ViewVariablesBlobMembers>(session, new ViewVariablesRequestMembers()); var uid = (EntityUid)_membersBlob.MemberGroups.SelectMany(p => p.Item2).Single(p => p.Name == "Uid").Value; Initialize(window, uid); }
public override async void Initialize(SS14Window window, ViewVariablesBlobMetadata blob, ViewVariablesRemoteSession session) { // TODO: this is pretty poorly implemented right now. // For example, it assumes a client-side entity exists, // so it also means client bubbling won't work in this context. _entitySession = session; _membersBlob = await ViewVariablesManager.RequestData<ViewVariablesBlobMembers>(session, new ViewVariablesRequestMembers()); var entityManager = IoCManager.Resolve<IEntityManager>(); var uid = (EntityUid) _membersBlob.Members.Single(p => p.Name == "Uid").Value; var entity = entityManager.GetEntity(uid); Initialize(window, entity); }
/// <summary> /// Initializes this instance to work on a remote object. /// This is called when the view variables manager has already made a session to the remote object. /// </summary> /// <param name="window">The window to initialize by adding GUI components.</param> /// <param name="blob">The data blob sent by the server for this remote object.</param> /// <param name="session">The session connecting to the remote object.</param> public virtual void Initialize(DefaultWindow window, ViewVariablesBlobMetadata blob, ViewVariablesRemoteSession session) { throw new NotSupportedException(); }