コード例 #1
0
ファイル: GravityAttractee.cs プロジェクト: Skuuully/Gravity
    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
            };
        }
    }
コード例 #2
0
ファイル: CreateZone.cs プロジェクト: hch0821/Eatit
 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;
 }
コード例 #3
0
ファイル: CreateZone.cs プロジェクト: hch0821/Eatit
 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;
 }
コード例 #4
0
ファイル: CreateZone.cs プロジェクト: hch0821/Eatit
    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;
    }
コード例 #5
0
ファイル: CreateZone.cs プロジェクト: hch0821/Eatit
    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;
    }
コード例 #6
0
ファイル: CreateZone.cs プロジェクト: hch0821/Eatit
    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;
    }
コード例 #7
0
ファイル: CreateZone.cs プロジェクト: hch0821/Eatit
    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;
    }
コード例 #8
0
ファイル: CreateZone.cs プロジェクト: hch0821/Eatit
    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;
    }
コード例 #9
0
ファイル: CreateZone.cs プロジェクト: hch0821/Eatit
    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;
    }
コード例 #10
0
ファイル: CreateZone.cs プロジェクト: hch0821/Eatit
    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;
    }
コード例 #11
0
ファイル: CreateZone.cs プロジェクト: hch0821/Eatit
    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;
    }
コード例 #12
0
    // 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;
    }
コード例 #13
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);
         }
     }
 }
コード例 #14
0
        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);
        }
コード例 #15
0
ファイル: GravityAttractee.cs プロジェクト: Skuuully/Gravity
    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);
    }
コード例 #16
0
ファイル: GravityData.cs プロジェクト: ThomasHoest/TiltMe
        public async Task SaveGravity(GravityInfo gravity)
        {
            GravityTableInfo gravityTableInfo = _mapper.Map <GravityTableInfo>(gravity);

            await Insert(_gravityTable, gravityTableInfo);
        }