idTech4.UI.idGuiScript.Script_Transition C# (CSharp) Метод

Script_Transition() приватный статический Метод

private static Script_Transition ( idWindow window, List source ) : void
window idWindow
source List
Результат void
		private static void Script_Transition(idWindow window, List<idWinGuiScript> source)
		{
			// transitions always affect rect or vec4 vars
			if(source.Count >= 4)
			{
				idWinRectangle rect = null;
				idWinVector4 vec4 = source[0].Variable as idWinVector4;

				// 
				//  added float variable
				idWinFloat val = null;
				// 
				if(vec4 == null)
				{
					rect = source[0].Variable as idWinRectangle;
					// 
					//  added float variable					
					if(rect == null)
					{
						val = source[0].Variable as idWinFloat;
					}
					// 
				}

				idWinVector4 from = source[1].Variable as idWinVector4;
				idWinVector4 to = source[2].Variable as idWinVector4;
				idWinString timeStr = source[3].Variable as idWinString;
				// 
				//  added float variable			
				if(((vec4 == null) && (rect == null) && (val == null)) && (from != null) && (to != null) && (timeStr != null))
				{
					idConsole.Warning("Bad transition in gui {0} in window {1}", window.UserInterface.SourceFile, window.Name);
				}
				else
				{
					int time;
					int.TryParse(timeStr.ToString(), out time);

					float accel = 0.0f;
					float decel = 0.0f;

					if(source.Count > 4)
					{
						idWinString accelStr = source[4].Variable as idWinString;
						idWinString decelStr = source[5].Variable as idWinString;

						float.TryParse(accelStr.ToString(), out accel);
						float.TryParse(decelStr.ToString(), out decel);
					}

					if(vec4 != null)
					{
						vec4.Evaluate = false;
						window.AddTransition(vec4, from, to, time, accel, decel);
					}
					else if(val != null)
					{
						val.Evaluate = false;
						window.AddTransition(val, from, to, time, accel, decel);
					}
					else
					{
						rect.Evaluate = false;
						window.AddTransition(rect, from, to, time, accel, decel);
					}

					window.StartTransition();
				}
			}
		}
		#endregion