public static Vector3 GetDirectionxy(float angle) { GetDirectionxy_dir.x = MathDxx.Sin(angle); GetDirectionxy_dir.y = MathDxx.Cos(angle); GetDirectionxy_dir.z = 0; return(GetDirectionxy_dir); }
public static long GetNeedDiamond(long gold) { int num = LocalSave.Instance.mShop.get_buy_golds(0); int num2 = LocalSave.Instance.mShop.get_buy_golds(1); int num3 = LocalSave.Instance.mShop.get_buy_golds(2); int num4 = LocalModelManager.Instance.Shop_Shop.get_buy_gold_diamond(0); int num5 = LocalModelManager.Instance.Shop_Shop.get_buy_gold_diamond(1); int num6 = LocalModelManager.Instance.Shop_Shop.get_buy_gold_diamond(2); if (gold <= num) { float num7 = ((float)gold) / ((float)num); return((long)MathDxx.CeilToInt(num7 * num4)); } if (gold <= num2) { long num8 = gold - num; float num9 = ((float)num8) / ((float)(num2 - num)); return((long)(MathDxx.CeilToInt(num9 * (num5 - num4)) + num4)); } long num10 = gold - num2; float num11 = ((float)num10) / ((float)(num3 - num2)); return((long)(MathDxx.CeilToInt(num11 * (num6 - num5)) + num5)); }
private static float ExcuteReboundWall(Vector3 position, float angle, Collider o, float offsetdir) { float x = MathDxx.Sin(angle); float z = MathDxx.Cos(angle); Vector3 direction = new Vector3(x, 0f, z); RaycastHit[] hitArray = Physics.RaycastAll(position + (offsetdir * direction), direction, 100f, ((int)1) << o.gameObject.layer); float num3 = getAngle(direction); for (int i = 0; i < hitArray.Length; i++) { RaycastHit hit = hitArray[i]; if (hit.collider.gameObject == o.gameObject) { Vector3 vector2 = hit.point - hit.collider.transform.position; Vector3 size = hit.collider.GetComponent <BoxCollider>().size; float num5 = (size.x * hit.transform.localScale.x) / ((size.z * 1.23f) * hit.transform.localScale.z); if (vector2.z > 0f) { float introduced12 = Mathf.Abs(vector2.x); if (introduced12 < (vector2.z * num5)) { return(180f - angle); } } if (vector2.z < 0f) { float introduced13 = Mathf.Abs(vector2.x); if (introduced13 < (-vector2.z * num5)) { return(180f - angle); } } if (vector2.x > 0f) { float introduced14 = Mathf.Abs(vector2.z); if (introduced14 < (vector2.x / num5)) { return(-angle); } } return(-angle); } } return(-angle); }
public static float ExcuteReboundWall(float angle, Vector3 pos, GameObject o) { float x = MathDxx.Sin(angle); float z = MathDxx.Cos(angle); Vector3 direction = new Vector3(x, 0f, z); Vector3 origin = pos - direction; foreach (RaycastHit hit in Physics.RaycastAll(origin, direction, 2f, ((int)1) << o.gameObject.layer)) { if (hit.collider.gameObject == o) { Vector3 vector3 = hit.point - hit.collider.transform.position; Vector3 size = hit.collider.GetComponent <BoxCollider>().size; float num4 = (size.x * hit.transform.localScale.x) / ((size.z * 1.23f) * hit.transform.localScale.z); if (vector3.z > 0f) { float introduced12 = Mathf.Abs(vector3.x); if (introduced12 <= (vector3.z * num4)) { return(180f - angle); } } if (vector3.z < 0f) { float introduced13 = Mathf.Abs(vector3.x); if (introduced13 <= (-vector3.z * num4)) { return(180f - angle); } } if (vector3.x > 0f) { float introduced14 = Mathf.Abs(vector3.z); if (introduced14 <= (vector3.x / num4)) { return(-angle); } } return(-angle); } } return(0f); }