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; }
protected override void Init() { RepresentedItem.SetupItemEntity(this, thisEntity); // Set up the triggers. AddItemTrigger = TriggerId.getIdByName("AddItem"); AddTriggerSlot("Interaction"); }
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); } }
/// <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); } }
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"; }
/// <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); } }
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; }
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"); }
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"); } }
/// <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); }
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); } } }); } } }