static void OnChangeSlotItemRequest(ref PlayerToolbarChangeSlotMsg msg, MyNetworkClient sender) { var playerId = new PlayerId(sender.SteamUserId, msg.PlayerSerialId); if (!MySession.Static.Toolbars.ContainsToolbar(playerId)) { return; } MyDefinitionBase def; MyDefinitionManager.Static.TryGetDefinition(msg.DefId, out def); if (def == null) { return; } var ob = MyToolbarItemFactory.ObjectBuilderFromDefinition(def); var tItem = MyToolbarItemFactory.CreateToolbarItem(ob); var toolbar = MySession.Static.Toolbars.TryGetPlayerToolbar(playerId); if (toolbar == null) { return; } toolbar.SetItemAtIndex(msg.Index, tItem); }
public static void RequestChangeSlotItem(PlayerId pid, int index, MyDefinitionId defId) { var msg = new PlayerToolbarChangeSlotMsg(); msg.ClientSteamId = pid.SteamId; msg.PlayerSerialId = pid.SerialId; msg.Index = index; msg.DefId = defId; Sync.Layer.SendMessageToServer(ref msg); }
static void OnChangeSlotItemRequest(ref PlayerToolbarChangeSlotMsg msg, MyNetworkClient sender) { var playerId = new PlayerId(sender.SteamUserId, msg.PlayerSerialId); if (!MySession.Static.Toolbars.ContainsToolbar(playerId)) return; MyDefinitionBase def; MyDefinitionManager.Static.TryGetDefinition(msg.DefId, out def); if (def == null) return; var ob = MyToolbarItemFactory.ObjectBuilderFromDefinition(def); var tItem = MyToolbarItemFactory.CreateToolbarItem(ob); var toolbar = MySession.Static.Toolbars.TryGetPlayerToolbar(playerId); if (toolbar == null) return; toolbar.SetItemAtIndex(msg.Index, tItem); }