private void FindGravityForce() { GravityInfo gravityInfo = FireRay(transform.up * -1); if (gravityInfo.force != NULL_VECTOR) { _gravityInfo = gravityInfo; return; } float closest = float.MaxValue; for (float i = -1; i <= 1; i += 0.5f) { for (float j = -1; j <= 1; j += 0.5f) { Vector3 direction = (transform.up * -1) + (transform.right * i) + (transform.forward * j); gravityInfo = FireRay(direction.normalized); if (gravityInfo.force != NULL_VECTOR && gravityInfo.distance < closest) { closest = gravityInfo.distance; _gravityInfo = gravityInfo; } } } if (Math.Abs(closest - float.MaxValue) < 0.1f) { _gravityInfo = new GravityInfo { force = Vector3.zero }; } }
void Pattern2() { GameManager.level = 2; GameManager.levelUp = true; //Debug.Log("pattern2"); GravityInfo.SetGravity(2.5f); createInterval.max = 4.5f; SetProbs(35, 8, 17, 40); Eatman.speed = 11; }
void Pattern1() { //Debug.Log("pattern1"); GameManager.level = 1; GameManager.levelUp = false; GravityInfo.SetGravity(1.8f); createInterval.max = 5.1f; SetProbs(40, 5, 10, 45); Eatman.speed = 10; }
void Pattern10() { GameManager.level = 10; GameManager.levelUp = true; // Debug.Log("pattern7"); createInterval.max = 2.5f; GravityInfo.SetGravity(15.5f); SetProbs(40, 40, 0, 20); Eatman.speed = 19f; }
void Pattern9() { GameManager.level = 9; GameManager.levelUp = true; // Debug.Log("pattern7"); createInterval.max = 3.0f; GravityInfo.SetGravity(9.5f); SetProbs(40, 40, 10, 10); Eatman.speed = 18f; }
void Pattern8() { GameManager.level = 8; GameManager.levelUp = true; // Debug.Log("pattern7"); createInterval.max = 3.1f; GravityInfo.SetGravity(8.5f); SetProbs(20, 40, 20, 20); Eatman.speed = 17; }
void Pattern7() { GameManager.level = 7; GameManager.levelUp = true; // Debug.Log("pattern7"); createInterval.max = 3.3f; GravityInfo.SetGravity(7.5f); SetProbs(25, 40, 20, 15); Eatman.speed = 16; }
void Pattern6() { GameManager.level = 6; GameManager.levelUp = true; // Debug.Log("pattern6"); createInterval.max = 3.5f; GravityInfo.SetGravity(6.5f); SetProbs(25, 30, 20, 25); Eatman.speed = 15; }
void Pattern5() { GameManager.level = 5; GameManager.levelUp = true; // Debug.Log("pattern5"); createInterval.max = 3.7f; GravityInfo.SetGravity(5.5f); SetProbs(30, 25, 20, 25); Eatman.speed = 14; }
void Pattern4() { GameManager.level = 4; GameManager.levelUp = true; // Debug.Log("pattern4"); GravityInfo.SetGravity(4.5f); createInterval.max = 4.0f; SetProbs(30, 18, 15, 37); Eatman.speed = 13; }
void Pattern3() { GameManager.level = 3; GameManager.levelUp = true; //Debug.Log("pattern3"); GravityInfo.SetGravity(3.0f); createInterval.max = 4.2f; SetProbs(35, 15, 15, 35); Eatman.speed = 12; }
// Update is called once per frame void Update() { foreach (object obj in _affectedObjects) { for (int j = (i + 1); j < _affectedObjects.Length; j++) { GravityInfo var1 = _affectedObjects[i].GetComponent <GravityInfo>(); GravityInfo var2 = _affectedObjects[j].GetComponent <GravityInfo>(); var1.rb.velocity += Vector3.Normalize(_affectedObjects[j].transform.position - _affectedObjects[i].transform.position) * ((float)(_gravitationalConstant * var1.mass * var2.mass / Mathf.Pow(Vector3.Distance(_affectedObjects[j].transform.position, _affectedObjects[i].transform.position), 2)) / var1.mass); var2.rb.velocity += Vector3.Normalize(_affectedObjects[i].transform.position - _affectedObjects[j].transform.position) * ((float)(_gravitationalConstant * var1.mass * var2.mass / Mathf.Pow(Vector3.Distance(_affectedObjects[j].transform.position, _affectedObjects[i].transform.position), 2)) / var2.mass); } i++; } i = 0; }
void OnEnable() { _affectedObjects = FindObjectsOfType <GravityInfo>(); for (int i = 0; i < _affectedObjects.Length; i++) { if (_affectedObjects[i].name == "Sun") { _sun = _affectedObjects[i]; } } for (int i = 0; i < _affectedObjects.Length; i++) { if (_affectedObjects[i].name != "Sun") { _affectedObjects[i].initialVelocity = StableOrbit(_affectedObjects[i].transform.position); } } }
public async Task CreateMeasurement(string sensorId, int gravity) { SensorInfo sensor = await _sensorData.GetSensorById(sensorId, _ownerEmail); if (sensor == null) { await CreateSensor(sensorId); sensor = await _sensorData.GetSensorById(sensorId, _ownerEmail); } GravityInfo gravityInfo = new GravityInfo() { SensorId = sensor.SensorId, Gravity = gravity, MeasurementTime = DateTime.UtcNow, Id = Guid.NewGuid().ToString() }; await _gravityData.SaveGravity(gravityInfo); }
private Vector3 GetSurfaceNormal() { for (float i = -1; i < 1; i += 0.5f) { for (float j = -1; j < 1; j += 0.5f) { for (float k = -1; k < 1; k += 0.5f) { Vector3 direction = (transform.forward * i) + (transform.up * j) + (transform.right * k); direction.Normalize(); GravityInfo gInfo = FireRay(direction); if (gInfo.surfaceNormal != NULL_VECTOR) { _gravityInfo = gInfo; return(gInfo.surfaceNormal); } } } } return(NULL_VECTOR); }
public async Task SaveGravity(GravityInfo gravity) { GravityTableInfo gravityTableInfo = _mapper.Map <GravityTableInfo>(gravity); await Insert(_gravityTable, gravityTableInfo); }