/// <param name="playerSession">The session ID of the player who opened this session.</param> /// <param name="o">The object we represent.</param> /// <param name="sessionId"> /// The session ID for this session. This is what the server and client use to talk about this session. /// </param> /// <param name="host">The view variables host owning this session.</param> public ViewVariablesSession(NetSessionId playerSession, object o, uint sessionId, IViewVariablesHost host) { PlayerSession = playerSession; Object = o; SessionId = sessionId; ObjectType = o.GetType(); Host = host; var traitIds = Host.TraitIdsFor(ObjectType); if (traitIds.Contains(ViewVariablesTraits.Members)) { var trait = new ViewVariablesTraitMembers(this); _traits.Add(trait); } if (traitIds.Contains(ViewVariablesTraits.Enumerable)) { var trait = new ViewVariablesTraitEnumerable(this); _traits.Add(trait); } if (traitIds.Contains(ViewVariablesTraits.Entity)) { var trait = new ViewVariablesTraitEntity(this); _traits.Add(trait); } }
/// <param name="playerUser">The session ID of the player who opened this session.</param> /// <param name="o">The object we represent.</param> /// <param name="sessionId"> /// The session ID for this session. This is what the server and client use to talk about this session. /// </param> /// <param name="host">The view variables host owning this session.</param> public ViewVariablesesSession(NetUserId playerUser, object o, uint sessionId, IViewVariablesHost host, IRobustSerializer robustSerializer) { PlayerUser = playerUser; Object = o; SessionId = sessionId; ObjectType = o.GetType(); Host = host; RobustSerializer = robustSerializer; var traitIds = Host.TraitIdsFor(ObjectType); if (traitIds.Contains(ViewVariablesTraits.Members)) { var trait = new ViewVariablesTraitMembers(this); _traits.Add(trait); } if (traitIds.Contains(ViewVariablesTraits.Enumerable)) { var trait = new ViewVariablesTraitEnumerable(this); _traits.Add(trait); } if (traitIds.Contains(ViewVariablesTraits.Entity)) { var trait = new ViewVariablesTraitEntity(this); _traits.Add(trait); } }