Esempio n. 1
0
 public FindingReason(string Reason, string ReasonType, object TriggerIds, string FalsePositiveCheck)
 {
     this.Reason     = Reason;
     this.ReasonType = ReasonType;
     try
     {
         this.TriggerIds = (List <int>)TriggerIds;
     }
     catch
     {
         try
         {
             this.TriggerIds = new List <int>()
             {
                 Int32.Parse(TriggerIds.ToString().Trim())
             };
         }
         catch
         {
             this.TriggerIds.Clear();
             try
             {
                 foreach (object TriggerId in Tools.ToDotNetList(TriggerIds))
                 {
                     this.TriggerIds.Add(Int32.Parse(TriggerId.ToString().Trim()));
                 }
             }
             catch
             {
                 throw new Exception("Trigger Id must be an integer or a list of integers");
             }
         }
     }
     this.FalsePositiveCheck = FalsePositiveCheck;
 }
Esempio n. 2
0
        protected override void Init()
        {
            RepresentedItem.SetupItemEntity(this, thisEntity);

            // Set up the triggers.
            AddItemTrigger = TriggerId.getIdByName("AddItem");
            AddTriggerSlot("Interaction");
        }
Esempio n. 3
0
 public override int GetHashCode()
 {
     {
         var hashCode = DateStart.GetHashCode();
         hashCode = (hashCode * 397) ^ (TriggerId.GetHashCode());
         hashCode = (hashCode * 397) ^ ((int)RepeatType);
         hashCode = (hashCode * 397) ^ (ConsumerNotificationSettingIds != null ? ConsumerNotificationSettingIds.Sum() + ConsumerNotificationSettingIds.Count() : 0);
         return(hashCode);
     }
 }
Esempio n. 4
0
        /// <summary>
        /// returns a ValueType which will be output for a specified trigger type.
        /// </summary>
        /// <param name="triggerType"></param>
        /// <returns></returns>
        public static ValueType GetTriggerValueType(TriggerId triggerType)
        {
            switch (triggerType)
            {
            case TriggerId.TRIGGER_ALIVE:
                return(ValueType.VALUE_INT);

            case TriggerId.TRIGGER_STATENO:
                return(ValueType.VALUE_INT);

            case TriggerId.TRIGGER_SYSVAR:
                return(ValueType.VALUE_INT);

            case TriggerId.TRIGGER_SYSFVAR:
                return(ValueType.VALUE_FLOAT);

            case TriggerId.TRIGGER_VAR:
                return(ValueType.VALUE_INT);

            case TriggerId.TRIGGER_FVAR:
                return(ValueType.VALUE_FLOAT);

            case TriggerId.TRIGGER_NUMHELPER:
                return(ValueType.VALUE_INT);

            case TriggerId.TRIGGER_NUMHELPER_ID:
                return(ValueType.VALUE_INT);

            case TriggerId.TRIGGER_NUMPROJ_ID:
                return(ValueType.VALUE_INT);

            case TriggerId.TRIGGER_NUMEXPLOD_ID:
                return(ValueType.VALUE_INT);

            case TriggerId.TRIGGER_NUMTARGET:
                return(ValueType.VALUE_INT);

            case TriggerId.TRIGGER_HASTARGET:
                return(ValueType.VALUE_BOOL);

            case TriggerId.TRIGGER_DAMAGE:
                return(ValueType.VALUE_INT);

            default:
                return(ValueType.VALUE_NONE);
            }
        }
Esempio n. 5
0
 private void Grid_Loaded(object sender, RoutedEventArgs e)
 {
     txtAgvCarName.Text = AgvName;
     if (AgvSate == (byte)AgvStateInfor.Charge)
     {
         stateAgvStatus.Fill = Brushes.Green;
     }
     else if (AgvSate == (byte)AgvStateInfor.Abnormal)
     {
         stateAgvStatus.Fill = Brushes.Red;
     }
     txtAgvStatus.Text = "2";
     txtAgvTask.Text   = TriggerId.ToString() + "站台";
     txtPositionX.Text = PositionX.ToString("f3");
     txtPositionY.Text = PositionY.ToString("f3");
     txtWeight.Text    = Weight.ToString("f1") + "Kg";
 }
Esempio n. 6
0
        /// <summary>
        /// provides the offset (from player root) to monitor for a trigger breakpoint.
        /// </summary>
        /// <param name="mugen">address database to use</param>
        /// <param name="triggerType">type of trigger to check</param>
        /// <param name="isOffsetFromBase">results as true if the trigger is base-offset, false if it is player-offset</param>
        /// <returns></returns>
        public static uint GetTriggerAddrForType(MugenAddrDatabase mugen, TriggerId triggerType, ref bool isOffsetFromBase)
        {
            if (mugen == null)
            {
                return(0);
            }
            isOffsetFromBase = false;
            switch (triggerType)
            {
            case TriggerId.TRIGGER_ALIVE:
                return(mugen.ALIVE_PLAYER_OFFSET);

            case TriggerId.TRIGGER_STATENO:
                return(mugen.STATE_NO_PLAYER_OFFSET);

            case TriggerId.TRIGGER_SYSVAR:
                return(mugen.SYS_VAR_PLAYER_OFFSET);

            case TriggerId.TRIGGER_SYSFVAR:
                return(mugen.SYS_FVAR_PLAYER_OFFSET);

            case TriggerId.TRIGGER_VAR:
                return(mugen.VAR_PLAYER_OFFSET);

            case TriggerId.TRIGGER_FVAR:
                return(mugen.FVAR_PLAYER_OFFSET);

            case TriggerId.TRIGGER_DAMAGE:
                return(mugen.DAMAGE_PLAYER_OFFSET);

            case TriggerId.TRIGGER_NUMHELPER:
            case TriggerId.TRIGGER_NUMHELPER_ID:
            case TriggerId.TRIGGER_NUMPROJ_ID:
            case TriggerId.TRIGGER_NUMEXPLOD_ID:
            case TriggerId.TRIGGER_NUMTARGET:
            case TriggerId.TRIGGER_HASTARGET:
                isOffsetFromBase = true;
                return(mugen.GAMETIME_BASE_OFFSET);

            default:
                return(0);
            }
        }
Esempio n. 7
0
 protected Trigger(ITrigger trigger, TriggerState state, string instanceName)
 {
     Id = new TriggerId()
     {
         InstanceName = instanceName,
         Group        = trigger.Key.Group,
         Name         = trigger.Key.Name
     };
     JobKey             = trigger.JobKey;
     Description        = trigger.Description;
     NextFireTime       = trigger.GetNextFireTimeUtc()?.UtcDateTime;
     PreviousFireTime   = trigger.GetPreviousFireTimeUtc()?.UtcDateTime;
     State              = state;
     StartTime          = trigger.StartTimeUtc.UtcDateTime;
     EndTime            = trigger.EndTimeUtc?.UtcDateTime;
     CalendarName       = trigger.CalendarName;
     MisfireInstruction = trigger.MisfireInstruction;
     Priority           = trigger.Priority;
     JobDataMap         = trigger.JobDataMap;
 }
Esempio n. 8
0
        protected override void Init()
        {
            // Add Torso mesh.
            thisEntity.AddComponent(new RenderComponent(
                                        new MeshRenderJob(Renderer.Opaque.Mesh, Resources.UseMaterial("Miner/Torso", UpvoidMiner.ModDomain), Resources.UseMesh("Miner/DroneBody", UpvoidMiner.ModDomain), mat4.Identity),
                                        mat4.Scale(DroneScale),
                                        true));
            thisEntity.AddComponent(new RenderComponent(
                                        new MeshRenderJob(Renderer.Shadow.Mesh, Resources.UseMaterial("::Shadow", UpvoidMiner.ModDomain), Resources.UseMesh("Miner/DroneBody", UpvoidMiner.ModDomain), mat4.Identity),
                                        mat4.Scale(DroneScale),
                                        true));

            thisEntity.AddComponent(renderComponentWing1Opaque = new RenderComponent(
                                        new MeshRenderJob(Renderer.Opaque.Mesh, Resources.UseMaterial("Miner/Torso", UpvoidMiner.ModDomain), Resources.UseMesh("Miner/DroneWing1", UpvoidMiner.ModDomain), mat4.Identity),
                                        mat4.Scale(DroneScale),
                                        true));
            thisEntity.AddComponent(renderComponentWing1Shadow = new RenderComponent(
                                        new MeshRenderJob(Renderer.Shadow.Mesh, Resources.UseMaterial("::Shadow", UpvoidMiner.ModDomain), Resources.UseMesh("Miner/DroneWing1", UpvoidMiner.ModDomain), mat4.Identity),
                                        mat4.Scale(DroneScale),
                                        true));

            thisEntity.AddComponent(renderComponentWing2Opaque = new RenderComponent(
                                        new MeshRenderJob(Renderer.Opaque.Mesh, Resources.UseMaterial("Miner/Torso", UpvoidMiner.ModDomain), Resources.UseMesh("Miner/DroneWing2", UpvoidMiner.ModDomain), mat4.Identity),
                                        mat4.Scale(DroneScale),
                                        true));
            thisEntity.AddComponent(renderComponentWing2Shadow = new RenderComponent(
                                        new MeshRenderJob(Renderer.Shadow.Mesh, Resources.UseMaterial("::Shadow", UpvoidMiner.ModDomain), Resources.UseMesh("Miner/DroneWing2", UpvoidMiner.ModDomain), mat4.Identity),
                                        mat4.Scale(DroneScale),
                                        true));

            thisEntity.AddComponent(new RenderComponent(
                                        new MeshRenderJob(Renderer.Transparent.Mesh, Resources.UseMaterial("Miner/DroneIndicator", UpvoidMiner.ModDomain), Resources.UseMesh("Miner/DroneIndicator", UpvoidMiner.ModDomain), mat4.Identity),
                                        mat4.Scale(new vec3(.03f, 7, .03f)),
                                        true));

            // Set up the triggers.
            AddItemTrigger = TriggerId.getIdByName("AddItem");
            AddTriggerSlot("Interaction");
        }
Esempio n. 9
0
        public override void OnUse(Player player, vec3 _worldPos, vec3 _worldNormal, Entity _hitEntity)
        {
            switch (ToolType)
            {
            case ToolType.Pickaxe:
                // Pickaxe has small radius but can dig everywhere
                player.DigMaterial(_worldNormal, _worldPos, digRadiusPickaxe, null);

                return;

            case ToolType.Shovel:
                // Shovel has big radius but can only dig dirt
                player.DigMaterial(_worldNormal, _worldPos, digRadiusShovel, new[] { TerrainResource.FromName("Dirt").Index, TerrainResource.FromName("Desert").Index });
                return;

            case ToolType.Axe:
                if (_hitEntity != null)
                {
                    _hitEntity[TriggerId.getIdByName("Hit")] |= new HitMessage(player.thisEntity);
                }
                return;

            case ToolType.DroneChain:
                // Add a drone to the use-position.
                player.AddDrone(_worldPos);
                // Remove that drone from inventory.
                player.Inventory.RemoveItem(new ToolItem(ToolType));
                return;

            case ToolType.Hammer:
                // TODO
                return;

            default:
                throw new InvalidOperationException("Unknown tool");
            }
        }
Esempio n. 10
0
 /// <summary>
 /// this exists because I was too lazy to remove it completely
 /// </summary>
 /// <param name="triggerType"></param>
 /// <returns></returns>
 internal static bool IsTriggerAvailable(TriggerId triggerType)
 {
     return(true);
 }
Esempio n. 11
0
        void HandlePressInput(object sender, InputPressArgs e)
        {
            if (!Rendering.MainViewport.HasFocus)
            {
                return;
            }

            // Scale the area using + and - keys.
            // Translate it using up down left right (x, z)
            // and PageUp PageDown (y).
            if (e.PressType == InputPressArgs.KeyPressType.Down)
            {
                switch (e.Key)
                {
                case InputKey.Shift:
                    keyModifierShift = true;
                    break;

                case InputKey.Control:
                    keyModifierControl = true;
                    break;

                case InputKey.Alt:
                    keyModifierAlt = true;
                    break;

                case InputKey.F8:
                    Renderer.Opaque.Mesh.DebugWireframe = !Renderer.Opaque.Mesh.DebugWireframe;
                    break;

                case InputKey.Q:
                    if (Inventory.Selection != null)
                    {
                        DropItem(Inventory.Selection);
                    }
                    break;

                // F1 resets the player position
                case InputKey.F1:
                    character.Body.SetTransformation(mat4.Translate(new vec3(0, 10f, 0)));
                    break;

                // Tab and shift-Tab cycle between digging shapes
                case InputKey.Tab:

                    if (!keyModifierControl)
                    {
                        int vals   = Enum.GetValues(typeof(DiggingShape)).Length;
                        int offset = keyModifierShift ? vals - 1 : 1;
                        CurrentDiggingShape = (DiggingShape)(((uint)CurrentDiggingShape + offset) % vals);
                    }
                    else
                    {
                        int vals   = Enum.GetValues(typeof(DiggingAlignment)).Length;
                        int offset = keyModifierShift ? vals - 1 : 1;
                        CurrentDiggingAlignment = (DiggingAlignment)(((uint)CurrentDiggingAlignment + offset) % vals);
                    }

                    // Reselect to refresh shape
                    if (Inventory.Selection != null)
                    {
                        Inventory.Selection.OnDeselect(this);
                        Inventory.Selection.OnSelect(this);
                    }

                    break;

                default:
                    break;
                }

                // Quickaccess items.
                if (InputKey.Key1 <= e.Key && e.Key <= InputKey.Key9)
                {
                    Inventory.Select((int)e.Key - (int)InputKey.Key1);
                }
                if (e.Key == InputKey.Key0)
                {
                    Inventory.Select(9); // Special '0'.
                }
            }
            else if (e.PressType == InputPressArgs.KeyPressType.Up)
            {
                switch (e.Key)
                {
                case InputKey.Shift:
                    keyModifierShift = false;
                    break;

                case InputKey.Control:
                    keyModifierControl = false;
                    break;

                case InputKey.Alt:
                    keyModifierAlt = false;
                    break;
                }
            }

            // Following interactions are only possible if UI is not open.
            if (!Gui.IsInventoryOpen)
            {
                float minRayQueryRange;
                float maxRayQueryRange;
                if (!LocalScript.NoclipEnabled)
                {
                    minRayQueryRange = minRayQueryDistancePlayer;
                    maxRayQueryRange = maxRayQueryDistancePlayer;
                }
                else
                {
                    minRayQueryRange = minRayQueryDistanceNoClip;
                    maxRayQueryRange = maxRayQueryDistanceNoClip;
                }

                // If left mouse click is detected, we want to execute a rayquery and report a "OnUse" to the selected item.
                if (Inventory.Selection != null && e.Key == InputKey.MouseLeft && e.PressType == InputPressArgs.KeyPressType.Down)
                {
                    // Send a ray query to find the position on the terrain we are looking at.
                    ContainingWorld.Physics.RayQuery(camera.Position + camera.ForwardDirection * minRayQueryRange, camera.Position + camera.ForwardDirection * maxRayQueryRange, delegate(bool _hit, vec3 _position, vec3 _normal, RigidBody _body, bool _hasTerrainCollision)
                    {
                        // Receiving the async ray query result here
                        if (_hit)
                        {
                            Entity _hitEntity = null;
                            if (_body != null && _body.RefComponent != null)
                            {
                                _hitEntity = _body.RefComponent.Entity;
                            }

                            /// Subtract a few cm toward camera to increase stability near constraints.
                            _position -= camera.ForwardDirection * .04f;

                            // Use currently selected item.
                            if (e.Key == InputKey.MouseLeft)
                            {
                                Item selection = Inventory.Selection;
                                if (selection != null)
                                {
                                    selection.OnUse(this, _position, _normal, _hitEntity);
                                }
                            }
                        }
                    });
                }

                if (e.Key == InputKey.E && e.PressType == InputPressArgs.KeyPressType.Down)
                {
                    ContainingWorld.Physics.RayQuery(camera.Position + camera.ForwardDirection * minRayQueryRange, camera.Position + camera.ForwardDirection * maxRayQueryRange, delegate(bool _hit, vec3 _position, vec3 _normal, RigidBody _body, bool _hasTerrainCollision)
                    {
                        // Receiving the async ray query result here
                        if (_body != null && _body.RefComponent != null)
                        {
                            Entity entity = _body.RefComponent.Entity;
                            if (entity != null)
                            {
                                TriggerId trigger = TriggerId.getIdByName("Interaction");
                                entity[trigger]  |= new InteractionMessage(thisEntity);
                            }
                        }
                    });
                }
            }
        }