示例#1
0
	/// <summary>
	/// The method for creating a trigger
	/// </summary>
	/// <param name="_trigger">The xml element containing the trigger description (Root node = Trigger)</param>
	/// <returns>The newly created trigger.</returns>
	public override Trigger CreateTrigger(XElement _trigger)
	{
		FindKeyTrigger t = null;

		String id = _trigger.Attribute("id").Value;

		string hint = _trigger.Elements().First().Element("Hint") != null ? _trigger.Elements().First().Element("Hint").Value : "";
		string keyObject = _trigger.Elements().First().Element("KeyObject") != null ? _trigger.Elements().First().Element("KeyObject").Value : "";
		float radius = float.Parse(_trigger.Elements().First().Element("Radius").Value);
		GeoCoordinate keyPosition = new GeoCoordinate(float.Parse(_trigger.Elements().First().Element("Latitude").Value), float.Parse(_trigger.Elements().First().Element("Longitude").Value), 0);

		t = new FindKeyTrigger(id, radius, keyPosition, hint, keyObject);

		t.preTriggerObjectIds = new List<string>();
		t.postTriggerObjectIds = new List<string>();

		if (_trigger.Element("PreTriggerObject") != null)
			foreach (XElement objectIdElement in _trigger.Element("PreTriggerObject").Elements())
			{
				t.preTriggerObjectIds.Add(objectIdElement.Value);
			}

		if (_trigger.Element("PostTriggerObject") != null)
			foreach (XElement objectIdElement in _trigger.Element("PostTriggerObject").Elements())
			{
				t.postTriggerObjectIds.Add(objectIdElement.Value);
			}

		return t;
	}
示例#2
0
	public void Init(FindKeyTrigger _trigger)
	{
		trigger = _trigger;
		enabled = false;
		hint.text = trigger.hint;
		ToolBox.Instance.sensorManager.gps.AddObserver(this);
		Enable(true);

	}