public ForceManagerCharacter(Rigidbody2D rigidBody, BoxCollider2D collider, Force gravity, genericDelegate <Vector2, bool> del) : base(rigidBody, collider, gravity) { distanceX = (collider.size.x * 0.5f) + distanceFromCollider; distanceY = (collider.size.x * 0.5f) + distanceFromCollider; sizeRectangleHitX = new Vector2(distanceFromCollider, collider.size.y); sizeRectangleHitY = new Vector2(collider.size.x, distanceFromCollider); realHits = new List <RaycastHit2D>(); OnCollision = del; }
IEnumerator AbruptlyDisplayLoadingScreen(string level, genericDelegate functionToCall) { isFading = true; //screen.gameObject.SetActive (true); float lerp = 1; Color newColor = fadeMaterial.color = fadeColor; newColor = fadeMaterial.color; newColor.a = lerp; //no need to convert fadeMaterial.color = newColor; fadeVolume = 0; sceneLoading = true; AsyncOperation async = Application.LoadLevelAsync (level); while (!async.isDone) { /* loadingProgress = Mathf.InverseLerp(0, 0.9f, async.progress); newPosition = loadingBar.transform.localPosition; newPosition.x = Mathf.Lerp(loadingBarStart, loadingBarEnd, loadingProgress); loadingBar.transform.localPosition = newPosition; CopyCameraTransformations(); */ yield return null; } lerp = 2; while (lerp != 0) { lerp = Mathf.MoveTowards (lerp, 0, 0.3f * Time.unscaledDeltaTime); newColor = fadeMaterial.color; newColor.a = lerp; //no need to convert fadeMaterial.color = newColor; fadeVolume = Mathf.Clamp01(1 - lerp); yield return null; } //screen.gameObject.SetActive (false); isFading = false; sceneLoading = false; if (functionToCall != null) functionToCall(); }
public void LoadLevel(string level, genericDelegate functionToCall = null) { pressed = true; StartCoroutine (DisplayLoadingScreen (level, functionToCall)); }
public void AddManagerCharacterForce(int ID, Rigidbody2D rigidBody, BoxCollider2D boxCollider, bool isGravity, genericDelegate <Vector2, bool> del) { if (isGravity) { forcesManager.Add(ID, new ForceManagerCharacter(rigidBody, boxCollider, new Force(gravity, gravityString), del)); } else { forcesManager.Add(ID, new ForceManagerCharacter(rigidBody, boxCollider, del)); } }
/// <summary> /// The function adds a action (method that returns void) with two parameters to a specific event /// </summary> /// <param name = "eventAction">The dictionary key associated with the event</param> /// <param name = "action">The action</param> public static void AddMethod <T, F>(EventAction eventAction, genericDelegate <T, F> action) { dictionaryEvent[eventAction] = (genericDelegate <T, F>)dictionaryEvent[eventAction] + action; }
/// <summary> /// The function remove a action (method that returns void) with one parameter to a specific event /// </summary> /// <param name = "eventAction">The dictionary key associated with the event</param> /// <param name = "action">The action</param> public static void RemoveMethod <T>(EventAction eventAction, genericDelegate <T> action) { dictionaryEvent[eventAction] = (genericDelegate <T>)dictionaryEvent[eventAction] - action; }
public ForceManagerCharacter(Rigidbody2D rigidBody, BoxCollider2D collider, genericDelegate <Vector2, bool> del) : this(rigidBody, collider, null, del) { }