Beispiel #1
0
		public Spawn (params FiniteTimeAction[] actions)
		{
			FiniteTimeAction prev = actions [0];
			FiniteTimeAction next = null;

			if (actions.Length == 1)
			{
				next = new ExtraAction ();
			}
			else
			{
				// We create a nested set of SpawnActions out of all of the actions
				for (int i = 1; i < actions.Length - 1; i++)
				{
					prev = new Spawn (prev, actions [i]);
				}

				next = actions [actions.Length - 1];
			}

			// Can't call base(duration) because we need to determine max duration
			// Instead call base's init method here
			if (prev != null && next != null)
			{
				Duration = Math.Max (prev.Duration, next.Duration);
				InitSpawn (prev, next);
			}
		}
Beispiel #2
0
		public SpawnState (Spawn action, Node target)
			: base (action, target)
		{ 
			ActionOne = action.ActionOne;
			ActionTwo = action.ActionTwo;

			ActionStateOne = (FiniteTimeActionState)ActionOne.StartAction (target);
			ActionStateTwo = (FiniteTimeActionState)ActionTwo.StartAction (target);
		}