Exemple #1
0
        private DreamProcArguments ConstructClickArguments(DreamObject atom, EntityClickedEvent e)
        {
            NameValueCollection paramsBuilder = HttpUtility.ParseQueryString(String.Empty);

            if (e.Shift)
            {
                paramsBuilder.Add("shift", "1");
            }
            if (e.Ctrl)
            {
                paramsBuilder.Add("ctrl", "1");
            }
            if (e.Alt)
            {
                paramsBuilder.Add("alt", "1");
            }
            //TODO: "icon-x", "icon-y", "screen-loc"

            return(new DreamProcArguments(new() {
                new DreamValue(atom),
                DreamValue.Null,
                DreamValue.Null,
                new DreamValue(paramsBuilder.ToString())
            }));
        }
Exemple #2
0
        internal void EntityClicked(Guid entityGuid, Guid starSys, MouseButtons button)
        {
            LastClickedEntity = StarSystemStates[starSys].EntityStatesWithNames[entityGuid];

            EntityClickedEvent?.Invoke(LastClickedEntity, button);

            if (ActiveWindow != null)
            {
                ActiveWindow.EntityClicked(StarSystemStates[starSys].EntityStatesWithNames[entityGuid], button);
            }
            OnEntitySelected();
        }
Exemple #3
0
        private void OnEntityClicked(EntityClickedEvent e, EntitySessionEventArgs sessionEvent)
        {
            DreamObject atom = _atomManager.GetAtomFromEntity(e.EntityUid);

            if (atom == null)
            {
                return;
            }

            IPlayerSession session = (IPlayerSession)sessionEvent.SenderSession;
            var            client  = _dreamManager.GetConnectionBySession(session).ClientDreamObject;
            var            usr     = client.GetVariable("mob").GetValueAsDreamObject();

            client.SpawnProc("Click", ConstructClickArguments(atom, e), usr: usr);
        }
Exemple #4
0
        internal void EntityClicked(Guid entityGuid, Guid starSys, MouseButtons button)
        {
            LastClickedEntity = StarSystemStates[starSys].EntityStatesWithNames[entityGuid];

            EntityClickedEvent?.Invoke(LastClickedEntity, button);

            if (ActiveWindow != null)
            {
                ActiveWindow.EntityClicked(StarSystemStates[starSys].EntityStatesWithNames[entityGuid], button);
            }

            SelectedSysMapRender.SelectedEntityExtras = new List <IDrawData>();
            if (LastClickedEntity.DebugOrbitOrder != null)
            {
                SelectedSysMapRender.SelectedEntityExtras.Add(LastClickedEntity.DebugOrbitOrder);
            }

            if (ActiveWindow == null || ActiveWindow.GetActive() == false || ActiveWindow.ClickedEntityIsPrimary)
            {
                PrimaryEntity = LastClickedEntity;
            }
        }