Ejemplo n.º 1
0
        public override void Execute(Data.Data data, Dictionary <string, object> parameters)
        {
            SessionHandler.EnqueueAction(() =>
            {
                var player = Utils.GetPlayer();
                if (player != null)
                {
                    if (Vehicle)
                    {
                        var controlledEntity = player.Controller.ControlledEntity;
                        if (controlledEntity is MyShipController controller)
                        {
                            var grid = controller.CubeGrid;
                            grid.CubeBlocks.Where(block => _random.NextDouble() < VehiclePercentage).ToList()
                            .ForEach(block => grid.RemoveBlock(block));
                        }
                    }

                    if (_random.NextDouble() < PlayerPercentage)
                    {
                        player.Character.Kill(true, new MyDamageInformation());
                    }
                    ActionNotification.SendActionMessage("SNAP!", Color.Red, "ArcHudGPSNotification1");
                }
            });
        }
 public async Task RemoveItem(ActionNotification actionNotification)
 {
     if (_ActionNotificationList.Count > 0)
     {
         _ActionNotificationList.Remove(actionNotification);
     }
 }
 public CustomerActionNotification(Customer customer, ActionNotification action)
 {
     Id        = customer.Id;
     FirstName = customer.FirstName;
     LastName  = customer.LastName;
     Email     = customer.Email;
     Phone     = customer.Phone;
     Action    = action;
 }
Ejemplo n.º 4
0
        private string StatusDictionary(ActionNotification notificationAction)
        {
            switch (notificationAction)
            {
            case ActionNotification.Created: return("criado");

            case ActionNotification.Updated: return("atualizado");

            case ActionNotification.Deleted: return("excluído");

            default:
                throw new ArgumentOutOfRangeException(nameof(notificationAction), notificationAction, null);
            }
        }
Ejemplo n.º 5
0
        void Handle(ActionNotification message)
        {
            var actionTabState = message.MapTo <ActionTabState>();

            if (actionTabState.Type == ActionType.Start)
            {
                actionTabState.Progress = 0;
            }
            actionTabState.ChildAction = new ChildActionState {
                Title = message.Title,
                Text  = message.Text,
                Href  = message.Href
            };
            Current = actionTabState;
        }
Ejemplo n.º 6
0
 private void SendMessage(string msg, bool alwaysSendMessage, List <BaseAction> actions)
 {
     SessionHandler.RunOnMainThread(() =>
     {
         var actionMessage = GetMessage(actions);
         msg += actionMessage;
         Plugin.Logger.WriteLine(msg);
         if (actions.Count <= 0 && !alwaysSendMessage)
         {
             return;
         }
         ActionNotification.SendActionMessage(msg, null);
         Utils.SendChat(msg);
     });
 }
        public void OnNext_ShouldCallOnNext(
            ActionNotification notification,
            string expected,
            IFixture fixture)
        {
            // arrange
            var renderer = new Mock <Func <ActionNotification, string> >();

            renderer.Setup(r => r(notification)).Returns(expected);
            fixture.Inject(renderer.Object);
            var sut = fixture.Create <RenderedReportingObserver>();

            // act
            sut.OnNext(notification);
            // assert
            Mock.Get(sut.Observer).Verify(o => o.OnNext(expected));
        }
Ejemplo n.º 8
0
        public override void Execute(Data.Data data, Dictionary <string, object> parameters)
        {
            SessionHandler.EnqueueAction(() =>
            {
                var player = Utils.GetPlayer();
                if (player != null)
                {
                    var id = new MyDefinitionId((MyObjectBuilderType)typeof(MyObjectBuilder_RadioAntenna), "SmallBlockRadioAntenna");
                    var up = player.Character.PositionComp.GetOrientation().Up;
                    up.Normalize();
                    var definitionBase = (MyRadioAntennaDefinition)MyDefinitionManager.Static.GetCubeBlockDefinition(id);
                    var pos            = player.GetPosition() + up * 50;
                    var world          = MatrixD.CreateWorld(pos, Vector3.Forward, Vector3.Up);
                    var color          = Color.Red.ColorToHSV();
                    var pirateFaction  = MySession.Static.Factions.TryGetFactionByTag("SPRT");
                    MyCubeBuilder.SpawnDynamicGrid(definitionBase, player.Character, world, color,
                                                   MyStringHash.NullOrEmpty,
                                                   0L, MyCubeBuilder.SpawnFlags.Default | MyCubeBuilder.SpawnFlags.SpawnAsMaster,
                                                   pirateFaction.FounderId, entity =>
                    {
                        var grid           = (MyCubeGrid)entity;
                        var pirateAntennas = MySession.Static.GetComponent <MyPirateAntennas>();
                        if (pirateAntennas != null)
                        {
                            var drones = Utils.IsInSpace(pos) ? Configuration.Plugin.Get(c => c.SpaceDrones): Configuration.Plugin.Get(c => c.PlanetDrones);
                            var drone  = (string.IsNullOrEmpty(Drone) ? drones[_random.Next(drones.Length)]: Drone) ?? "Vulture Drone";

                            MyDefinitionManager.Static.TryGetDefinition(
                                new MyDefinitionId(
                                    (MyObjectBuilderType)typeof(MyObjectBuilder_SpawnGroupDefinition),
                                    drone), out MySpawnGroupDefinition spawnGroup);
                            if (spawnGroup != null)
                            {
                                Vector3D?nullable = new Vector3D?();
                                for (int index = 0; index < 10; ++index)
                                {
                                    world    = entity.WorldMatrix;
                                    nullable = MyEntities.FindFreePlace(
                                        world.Translation + MyUtils.GetRandomVector3Normalized() * 1500,
                                        spawnGroup.SpawnRadius);
                                    if (nullable.HasValue)
                                    {
                                        break;
                                    }
                                }

                                foreach (var antenna in grid.GetFatBlocks <MyRadioAntenna>())
                                {
                                    _spawnDrone.Invoke(pirateAntennas,
                                                       new object[]
                                    {
                                        antenna, pirateFaction.FounderId, nullable.Value, spawnGroup,
                                        new Vector3?(), new Vector3?()
                                    });
                                }

                                var spawns = spawnGroup.Prefabs.Select(prefab => prefab.SubtypeId.ToSplitCase())
                                             .GroupBy(s => s).Select(grouping =>
                                                                     (grouping.Count() > 1 ? grouping.Count() + "x " : "") + grouping.Key)
                                             .Join();
                                var msg = "Spawned " + spawns;
                                Utils.SendChat(msg);
                                ActionNotification.SendActionMessage(msg, Color.Red, "ArcHudGPSNotification1");
                            }
                        }
                        grid.CubeBlocks.ToList().ForEach(block => grid.RemoveBlock(block));
                    });
                }
            });
        }
Ejemplo n.º 9
0
 public Task Handle(ActionNotification notification) =>
 _hubContext.Value.Clients.All.ActionNotification(notification);
Ejemplo n.º 10
0
 void Handle(ActionNotification message) {
     var actionTabState = message.MapTo<ActionTabState>();
     if (actionTabState.Type == ActionType.Start)
         actionTabState.Progress = 0;
     actionTabState.ChildAction = new ChildActionState {
         Title = message.Title,
         Text = message.Text,
         Href = message.Href
     };
     Current = actionTabState;
 }