Esempio n. 1
0
            public void SendToolbarItemChanged(ToolbarItem item, int index)
            {
                var msg = new ChangeToolbarItemMsg();

                msg.EntityId = m_airVent.EntityId;

                msg.Item  = item;
                msg.Index = index;

                Sync.Layer.SendMessageToAllAndSelf(ref msg);
            }
Esempio n. 2
0
            public void SendToolbarItemChanged(ToolbarItem item, int index)
            {
                if (m_syncing)
                    return;
                var msg = new ChangeToolbarItemMsg();
                msg.EntityId = m_timer.EntityId;
                msg.Item = item;
                msg.Index = index;

                Sync.Layer.SendMessageToServer(ref msg);
            }
Esempio n. 3
0
            private static void OnToolbarItemChanged(MySyncButtonPanel sync, ref ChangeToolbarItemMsg msg, MyNetworkClient sender)
            {
                sync.m_syncing = true;
                MyToolbarItem item = null;

                if (msg.Item.EntityID != 0)
                {
                    item = ToolbarItem.ToItem(msg.Item);
                }
                sync.m_panel.Toolbar.SetItemAtIndex(msg.Index, item);
                sync.m_syncing = false;
            }
Esempio n. 4
0
            private static void OnToolbarItemChanged(MySyncAirVent sync, ref ChangeToolbarItemMsg msg, MyNetworkClient sender)
            {
                MyToolbarItem item = null;

                if (msg.Item.EntityID != 0)
                {
                    if (string.IsNullOrEmpty(msg.Item.GroupName))
                    {
                        MyTerminalBlock block;
                        if (MyEntities.TryGetEntityById <MyTerminalBlock>(msg.Item.EntityID, out block))
                        {
                            var builder = MyToolbarItemFactory.TerminalBlockObjectBuilderFromBlock(block);
                            builder.Action     = msg.Item.Action;
                            builder.Parameters = msg.Item.Parameters;
                            item = MyToolbarItemFactory.CreateToolbarItem(builder);
                        }
                    }
                    else
                    {
                        MyAirVent parent;
                        if (MyEntities.TryGetEntityById <MyAirVent>(msg.Item.EntityID, out parent))
                        {
                            var grid      = parent.CubeGrid;
                            var groupName = msg.Item.GroupName;
                            var group     = grid.GridSystems.TerminalSystem.BlockGroups.Find((x) => x.Name.ToString() == groupName);
                            if (group != null)
                            {
                                var builder = MyToolbarItemFactory.TerminalGroupObjectBuilderFromGroup(group);
                                builder.Action        = msg.Item.Action;
                                builder.BlockEntityId = msg.Item.EntityID;
                                builder.Parameters    = msg.Item.Parameters;
                                item = MyToolbarItemFactory.CreateToolbarItem(builder);
                            }
                        }
                    }
                }

                if (msg.Index == 0)
                {
                    sync.m_airVent.m_onFullAction = item;
                }
                else
                {
                    sync.m_airVent.m_onEmptyAction = item;
                }
                sync.m_airVent.RaisePropertiesChanged();

                if (Sync.IsServer)
                {
                    Sync.Layer.SendMessageToAllButOne(ref msg, sender.SteamUserId);
                }
            }
Esempio n. 5
0
            public void SendToolbarItemChanged(ToolbarItem item, int index)
            {
                if (m_syncing)
                {
                    return;
                }
                var msg = new ChangeToolbarItemMsg();

                msg.EntityId = m_panel.EntityId;
                msg.Item     = item;
                msg.Index    = index;

                Sync.Layer.SendMessageToAll(ref msg);
            }
Esempio n. 6
0
            private static void OnToolbarItemChanged(MySyncTimerBlock sync, ref ChangeToolbarItemMsg msg, MyNetworkClient sender)
            {
                sync.m_syncing = true;
                MyToolbarItem item = null;

                if (msg.Item.EntityID != 0)
                {
                    item = ToolbarItem.ToItem(msg.Item);
                }
                sync.m_timer.Toolbar.SetItemAtIndex(msg.Index, item);
                sync.m_syncing = false;
                if (Sync.IsServer)
                {
                    Sync.Layer.SendMessageToAll(ref msg);
                }
            }
Esempio n. 7
0
            private static void OnToolbarItemChanged(MySyncButtonPanel sync, ref ChangeToolbarItemMsg msg, MyNetworkClient sender)
            {
                sync.m_syncing = true;
                MyToolbarItem item = null;

                if (msg.Item.EntityID != 0)
                {
                    item = ToolbarItem.ToItem(msg.Item);
                }
                sync.m_panel.Toolbar.SetItemAtIndex(msg.Index, item);
                sync.m_syncing = false;

                if (Sync.IsServer)
                {
                    Sync.Layer.SendMessageToAllButOne(ref msg, sender.SteamUserId);
                }
            }
Esempio n. 8
0
            private static void OnToolbarItemChanged(MySyncTimerBlock sync, ref ChangeToolbarItemMsg msg, MyNetworkClient sender)
            {
                sync.m_syncing = true;
                MyToolbarItem item = null;

                if (msg.Item.EntityID != 0)
                {
                    if (string.IsNullOrEmpty(msg.Item.GroupName))
                    {
                        MyTerminalBlock block;
                        if (MyEntities.TryGetEntityById <MyTerminalBlock>(msg.Item.EntityID, out block))
                        {
                            var builder = MyToolbarItemFactory.TerminalBlockObjectBuilderFromBlock(block);
                            builder.Action = msg.Item.Action;
                            item           = MyToolbarItemFactory.CreateToolbarItem(builder);
                        }
                    }
                    else
                    {
                        MyTimerBlock parent;
                        if (MyEntities.TryGetEntityById <MyTimerBlock>(msg.Item.EntityID, out parent))
                        {
                            var grid      = parent.CubeGrid;
                            var groupName = msg.Item.GroupName;
                            var group     = grid.GridSystems.TerminalSystem.BlockGroups.Find((x) => x.Name.ToString() == groupName);;
                            if (group != null)
                            {
                                var builder = MyToolbarItemFactory.TerminalGroupObjectBuilderFromGroup(group);
                                builder.Action        = msg.Item.Action;
                                builder.BlockEntityId = msg.Item.EntityID;
                                item = MyToolbarItemFactory.CreateToolbarItem(builder);
                            }
                        }
                    }
                }
                sync.m_timer.Toolbar.SetItemAtIndex(msg.Index, item);
                sync.m_syncing = false;
                if (Sync.IsServer)
                {
                    Sync.Layer.SendMessageToAll(ref msg);
                }
            }
Esempio n. 9
0
 private static void OnToolbarItemChanged(MySyncTimerBlock sync, ref ChangeToolbarItemMsg msg, MyNetworkClient sender)
 {
     sync.m_syncing = true;
     MyToolbarItem item = null;
     if (msg.Item.EntityID != 0)
         item = ToolbarItem.ToItem(msg.Item);
     sync.m_timer.Toolbar.SetItemAtIndex(msg.Index, item);
     sync.m_syncing = false;
     if (Sync.IsServer)
         Sync.Layer.SendMessageToAll(ref msg);
 }
Esempio n. 10
0
 private static void OnToolbarItemChanged(MySyncButtonPanel sync, ref ChangeToolbarItemMsg msg, MyNetworkClient sender)
 {
     sync.m_syncing = true;
     MyToolbarItem item = null;
     if (msg.Item.EntityID != 0)
         item = ToolbarItem.ToItem(msg.Item);
     sync.m_panel.Toolbar.SetItemAtIndex(msg.Index, item);
     sync.m_syncing = false;
 }
Esempio n. 11
0
 private static void OnToolbarItemChanged(MySyncTimerBlock sync, ref ChangeToolbarItemMsg msg, MyNetworkClient sender)
 {
     sync.m_syncing = true;
     MyToolbarItem item = null;
     if(msg.Item.EntityID != 0)
         if (string.IsNullOrEmpty(msg.Item.GroupName))
         {
             MyTerminalBlock block;
             if(MyEntities.TryGetEntityById<MyTerminalBlock>(msg.Item.EntityID, out block))
             {
                 var builder = MyToolbarItemFactory.TerminalBlockObjectBuilderFromBlock(block);
                 builder.Action = msg.Item.Action;
                 item = MyToolbarItemFactory.CreateToolbarItem(builder);
             }
         }
         else
         {
             MyTimerBlock parent;
             if (MyEntities.TryGetEntityById<MyTimerBlock>(msg.Item.EntityID, out parent))
             {
                 var grid = parent.CubeGrid;
                 var groupName = msg.Item.GroupName;
                 var group = grid.GridSystems.TerminalSystem.BlockGroups.Find((x) => x.Name.ToString() == groupName);;
                 if (group != null)
                 {
                     var builder = MyToolbarItemFactory.TerminalGroupObjectBuilderFromGroup(group);
                     builder.Action = msg.Item.Action;
                     builder.BlockEntityId = msg.Item.EntityID;
                     item = MyToolbarItemFactory.CreateToolbarItem(builder);
                 }
             }
         }
     sync.m_timer.Toolbar.SetItemAtIndex(msg.Index, item);
     sync.m_syncing = false;
     if (Sync.IsServer)
         Sync.Layer.SendMessageToAll(ref msg);
 }
Esempio n. 12
0
            private static void OnToolbarItemChanged(MySyncRemoteControl sync, ref ChangeToolbarItemMsg msg, MyNetworkClient sender)
            {
                sync.m_syncing = true;
                MyToolbarItem item = null;
                if (msg.Item.EntityID != 0)
                {
                    if (string.IsNullOrEmpty(msg.Item.GroupName))
                    {
                        MyTerminalBlock block;
                        if (MyEntities.TryGetEntityById<MyTerminalBlock>(msg.Item.EntityID, out block))
                        {
                            var builder = MyToolbarItemFactory.TerminalBlockObjectBuilderFromBlock(block);
                            builder.Action = msg.Item.Action;
                            builder.Parameters = msg.Item.Parameters;
                            item = MyToolbarItemFactory.CreateToolbarItem(builder);
                        }
                    }
                    else
                    {
                        MyRemoteControl parent;
                        if (MyEntities.TryGetEntityById<MyRemoteControl>(msg.Item.EntityID, out parent))
                        {
                            var grid = parent.CubeGrid;
                            var groupName = msg.Item.GroupName;
                            var group = grid.GridSystems.TerminalSystem.BlockGroups.Find((x) => x.Name.ToString() == groupName);
                            if (group != null)
                            {
                                var builder = MyToolbarItemFactory.TerminalGroupObjectBuilderFromGroup(group);
                                builder.Action = msg.Item.Action;
                                builder.BlockEntityId = msg.Item.EntityID;
                                builder.Parameters = msg.Item.Parameters;
                                item = MyToolbarItemFactory.CreateToolbarItem(builder);
                            }
                        }
                    }
                }

                var waypoint = sync.m_remoteControl.m_waypoints[msg.WaypointIndex];
                if (waypoint.Actions == null)
                {
                    waypoint.InitActions();
                }
                waypoint.Actions[msg.Index] = item;
                sync.m_remoteControl.RaisePropertiesChangedRemote();
                sync.m_syncing = false;

                if (Sync.IsServer)
                {
                    Sync.Layer.SendMessageToAllButOne(ref msg, sender.SteamUserId);
                }
            }
Esempio n. 13
0
            public void SendToolbarItemChanged(ToolbarItem item, int index, int waypointIndex)
            {
                if (m_syncing)
                    return;
                var msg = new ChangeToolbarItemMsg();
                msg.EntityId = m_remoteControl.EntityId;

                msg.Item = item;
                msg.Index = index;
                msg.WaypointIndex = waypointIndex;

                Sync.Layer.SendMessageToServerAndSelf(ref msg);
            }
Esempio n. 14
0
            private static void OnToolbarItemChanged(MySyncAirVent sync, ref ChangeToolbarItemMsg msg, MyNetworkClient sender)
            {
                MyToolbarItem item = null;
                if (msg.Item.EntityID != 0)
                {
                    if (string.IsNullOrEmpty(msg.Item.GroupName))
                    {
                        MyTerminalBlock block;
                        if (MyEntities.TryGetEntityById<MyTerminalBlock>(msg.Item.EntityID, out block))
                        {
                            var builder = MyToolbarItemFactory.TerminalBlockObjectBuilderFromBlock(block);
                            builder.Action = msg.Item.Action;
                            builder.Parameters = msg.Item.Parameters;
                            item = MyToolbarItemFactory.CreateToolbarItem(builder);
                        }
                    }
                    else
                    {
                        MyAirVent parent;
                        if (MyEntities.TryGetEntityById<MyAirVent>(msg.Item.EntityID, out parent))
                        {
                            var grid = parent.CubeGrid;
                            var groupName = msg.Item.GroupName;
                            var group = grid.GridSystems.TerminalSystem.BlockGroups.Find((x) => x.Name.ToString() == groupName);
                            if (group != null)
                            {
                                var builder = MyToolbarItemFactory.TerminalGroupObjectBuilderFromGroup(group);
                                builder.Action = msg.Item.Action;
                                builder.BlockEntityId = msg.Item.EntityID;
                                builder.Parameters = msg.Item.Parameters;
                                item = MyToolbarItemFactory.CreateToolbarItem(builder);
                            }
                        }
                    }
                }

                if (msg.Index == 0)
                {
                    sync.m_airVent.m_onFullAction = item;
                }
                else
                {
                    sync.m_airVent.m_onEmptyAction = item;
                }
                sync.m_airVent.RaisePropertiesChanged();

                if (Sync.IsServer)
                {
                    Sync.Layer.SendMessageToAllButOne(ref msg, sender.SteamUserId);
                }
            }
Esempio n. 15
0
            public void SendToolbarItemChanged(ToolbarItem item, int index)
            {
                var msg = new ChangeToolbarItemMsg();
                msg.EntityId = m_airVent.EntityId;

                msg.Item = item;
                msg.Index = index;

                Sync.Layer.SendMessageToServerAndSelf(ref msg);
            }
Esempio n. 16
0
            private static void OnToolbarItemChanged(MySyncButtonPanel sync, ref ChangeToolbarItemMsg msg, MyNetworkClient sender)
            {
                sync.m_syncing = true;
                MyToolbarItem item = null;
                if (msg.Item.EntityID != 0)
                    item = ToolbarItem.ToItem(msg.Item);
                sync.m_panel.Toolbar.SetItemAtIndex(msg.Index, item);
                sync.m_syncing = false;

                if (Sync.IsServer)
                {
                    Sync.Layer.SendMessageToAllButOne(ref msg, sender.SteamUserId);
                }
            }