Beispiel #1
0
 void Update()
 {
     if (Input.GetKeyDown(KeyCode.Space) || Input.GetKeyDown(KeyCode.Mouse0))
     {
         var   bullet = Projectile.Instantiate(prefabs.laserBlast);
         float extra  = worldParameters.CalcDeltaT(0.15f);
         bullet.Kickoff(m_ring_space_t + extra, lat_space_t);
         AudioSource.PlayClipAtPoint(laserClip, transform.position);
     }
 }
Beispiel #2
0
    void MovementUpdate(float dt)
    {
        // # ring movement
        CalcOrientation(m_ring_space_t, m_lat_space_t, positive, worldParameters, out var actorPos, out var actorRotation);
        // TODO: spherecast
        transform.position = actorPos;
        transform.rotation = actorRotation;

        float speed            = moverConfig.defaultSpeed;
        float spaceDelta       = speed * dt;
        float parameterDelta_t = worldParameters.CalcDeltaT(spaceDelta);

        m_ring_space_t = Mathf.Repeat(m_ring_space_t + parameterDelta_t, 1f);

        // # Lateral deviation

        // float latSpaceDelta = inputX * dt * moverConfig.lateralSpeed;
        // float lat_space_deltaT = latSpaceDelta / worldParameters.halfWidth;

        // m_lat_space_t += lat_space_deltaT;
        // m_lat_space_t = Mathf.Clamp(m_lat_space_t, -1f, 1f);
    }