public void AddRandomRotation(Rigidbody2D p_body) { if (p_body != null) { float v_randomRotation = KiltUtils.RandomRange(m_minAngularVelocity, m_maxAngularVelocity); p_body.angularVelocity += v_randomRotation; } }
protected virtual GameObject CreateFragment(GameObject p_parent, Sprite p_sprite, int p_index) { Vector2 v_minInitialOffset = GetGlobalMinInitialOffSet(); Vector2 v_maxInitialOffset = GetGlobalMaxInitialOffSet(); GameObject v_object = new GameObject("Frag"); v_object.transform.parent = p_parent != null? p_parent.transform : this.transform.parent; v_object.transform.localScale = new Vector3(m_fragmentScale * this.transform.localScale.x, m_fragmentScale * this.transform.localScale.y, m_fragmentScale * this.transform.localScale.z); v_object.transform.position = new Vector3(this.transform.position.x + KiltUtils.RandomRange(v_minInitialOffset.x, v_maxInitialOffset.x), this.transform.position.y + KiltUtils.RandomRange(v_minInitialOffset.y, v_maxInitialOffset.y), this.transform.position.z); v_object.transform.rotation = this.transform.rotation; v_object.AddComponent <Fragment>(); Rigidbody2D v_body = v_object.AddComponent <Rigidbody2D>(); if (m_createFragmentCollider) { CircleCollider2D v_collider = v_object.AddComponent <CircleCollider2D>(); v_collider.radius = 0.01f; CircleCollider2D v_collider2 = v_object.AddComponent <CircleCollider2D>(); v_collider2.radius = 0.01f; v_collider2.offset = new Vector2(0.005f, 0.005f); } if (this.GetComponent <Rigidbody2D>() != null) { v_body.mass = Mathf.Max(0.001f, m_fragmentMass); //(rigidbody2D.mass/Mathf.Max(1,m_maxAmountOfFragments))/25; v_body.velocity = UseOldRigidBodyVelocity? GetComponent <Rigidbody2D>().velocity : Vector2.zero; v_body.angularVelocity = UseOldRigidBodyVelocity? GetComponent <Rigidbody2D>().angularVelocity : 0; v_body.gravityScale = m_fragmentGravityScale; } SpriteRenderer v_spriteRenderer = v_object.AddComponent <SpriteRenderer>(); v_spriteRenderer.sprite = p_sprite; SpriteRenderer v_currentSpriteRenderer = gameObject.GetComponent <SpriteRenderer>(); if (v_currentSpriteRenderer != null) { v_spriteRenderer.color = v_currentSpriteRenderer.color; //renderer.material.GetColor("_Color"); v_spriteRenderer.material = v_currentSpriteRenderer.material; v_spriteRenderer.sortingLayerID = v_currentSpriteRenderer.sortingLayerID; v_spriteRenderer.sortingLayerName = v_currentSpriteRenderer.sortingLayerName; v_spriteRenderer.sortingOrder = 15; } AddRandomImpulse(v_body); AddRandomRotation(v_body); if (m_enableIndividualFragmentEffect && m_individualFragmentEffect != null) { GameObject v_effect = GameObject.Instantiate(m_individualFragmentEffect) as GameObject; v_effect.transform.parent = v_object.transform; v_effect.transform.localPosition = Vector2.zero; v_effect.transform.rotation = Quaternion.identity; v_effect.transform.localScale = Vector3.one; } //PauseManager.Pause(); return(v_object); }
public void AddRandomImpulse(Rigidbody2D p_body) { if (p_body != null) { float v_randomImpulse = KiltUtils.RandomRange(m_minImpulseForce, m_maxImpulseForce); Vector2 v_finalVector = VectorHelper.Direction(p_body.gameObject.transform.parent.position, p_body.gameObject.transform.position); v_finalVector = new Vector2(v_finalVector.x * v_randomImpulse, v_finalVector.y * v_randomImpulse); p_body.AddForce(v_finalVector, ForceMode2D.Impulse); //p_body.AddForce(new Vector2(0,v_randomImpulse)); } }
public AudioClip GetClip() { AudioClip v_return = null; if (PlayerOption == RandomClipsStructEnum.RandomPlay) { float v_randomChanceValue = KiltUtils.RandomRange(0.0f, 100.0f); if (Clips.Count > 0 && v_randomChanceValue < ProbChanceToCall) { v_return = Clips[KiltUtils.RandomRange(0, Clips.Count)]; } } return(v_return); }
public static void PlugBallonToObject(GameObject p_object, BalloonProperty p_ballon, Rope2D p_rope, Vector2 p_minDistance, Vector2 p_maxDistance, bool p_ballonIsAPrefab = true, bool p_ropeIsAPrefab = true, bool p_useBallonPrefabScale = true, bool p_useRopePrefabScale = true, string p_errorSolverDirectory = "Prefabs") { GameObject v_ropeParentObject = GameObject.Find("RopesContainer"); GameObject v_blockParentObject = GameObject.Find("BlocksContainer"); GameObject v_ballonInScene = null; GameObject v_ropeInScene = null; //Try Solve Ballon Errors if (p_ballon == null) { BalloonProperty[] v_ballons = KiltUtils.FindAllResourcesComponentsAtFolder <BalloonProperty>(p_errorSolverDirectory); if (v_ballons.Length <= 0) { v_ballons = KiltUtils.FindAllResourcesComponentsOfType <BalloonProperty>(); } if (v_ballons.Length > 0 && v_ballons[0] != null) { v_ballonInScene = KiltUtils.Instantiate(v_ballons[0].gameObject); v_ballonInScene.transform.parent = v_blockParentObject != null? v_blockParentObject.transform : null; if (p_useBallonPrefabScale) { v_ballonInScene.transform.localScale = v_ballons[0].gameObject.transform.localScale; } } } else if (p_ballonIsAPrefab) { v_ballonInScene = KiltUtils.Instantiate(p_ballon.gameObject); v_ballonInScene.transform.parent = v_blockParentObject != null? v_blockParentObject.transform : null; if (p_useBallonPrefabScale) { v_ballonInScene.transform.localScale = p_ballon.gameObject.transform.localScale; } } else { v_ballonInScene = p_ballon.gameObject; } //Try Solve Rope Errors if (p_rope == null) { Rope2D[] v_ropes = KiltUtils.FindAllResourcesComponentsAtFolder <Rope2D>(p_errorSolverDirectory); if (v_ropes.Length <= 0) { v_ropes = KiltUtils.FindAllResourcesComponentsOfType <Rope2D>(); } if (v_ropes.Length > 0 && v_ropes[0] != null) { v_ropeInScene = KiltUtils.Instantiate(v_ropes[0].gameObject); v_ropeInScene.transform.parent = v_ropeParentObject != null? v_ropeParentObject.transform : null; if (p_useRopePrefabScale) { v_ropeInScene.transform.localScale = v_ropes[0].gameObject.transform.localScale; } } } else if (p_ropeIsAPrefab) { v_ropeInScene = KiltUtils.Instantiate(p_rope.gameObject); v_ropeInScene.transform.parent = v_ropeParentObject != null? v_ropeParentObject.transform : null; if (p_useRopePrefabScale) { v_ropeInScene.transform.localScale = p_rope.gameObject.transform.localScale; } } else { v_ropeInScene = p_rope.gameObject; } if (v_ballonInScene != null && p_object != null && v_ropeInScene != null) { v_ballonInScene.transform.localPosition = new Vector3(v_ballonInScene.transform.localPosition.x, v_ballonInScene.transform.localPosition.y, 20); // Prevent Rope Collider to be in front of this Object v_ballonInScene.name = v_ballonInScene.name.Replace("(Clone)", ""); v_ropeInScene.name = v_ropeInScene.name.Replace("(Clone)", "") + "[(" + p_object.name.Replace("(Selected)", "") + ") to (" + v_ballonInScene.name + ")]"; TackRope v_tackRope = v_ropeInScene.GetComponent <TackRope>(); if (v_tackRope != null) { v_tackRope.ObjectA = p_object; v_tackRope.ObjectB = v_ballonInScene; Vector2 v_newOffSetPosition = new Vector2(KiltUtils.RandomRange(p_minDistance.x, p_maxDistance.x), KiltUtils.RandomRange(p_minDistance.y, p_maxDistance.y)); v_ballonInScene.transform.position = new Vector3(p_object.transform.position.x + v_newOffSetPosition.x, p_object.transform.position.y + v_newOffSetPosition.y, p_object.transform.position.z); if (Application.isPlaying) { v_tackRope.CreateRope(); } } } if (v_ballonInScene != null && v_ballonInScene.GetComponent <BlockSelector>() == null) { v_ballonInScene.AddComponent <BlockSelector>(); } }
public void StartAlarm() { CurrentTime = KiltUtils.RandomRange(MinTime, MaxTime); }