Beispiel #1
0
    private void Update()
    {
        switch (moveType)
        {
        case MoveType.Circular:
        case MoveType.CircularSin:
            angleSpeed         = AngleUtils.Rad2Deg(speed / radius);
            newPos             = GetCircularPos(moveType);
            velocity           = (newPos - transform.position).normalized * speed;
            transform.position = newPos;
            break;

        case MoveType.InDirection: break;

        default: throw new ArgumentOutOfRangeException();
        }
        dirRelativeRocket = PvoUtils.DecToPolar(transform.position - pvo.position);
    }
Beispiel #2
0
 private void UpdateTargets()
 {
     for (var i = 0; i < targets.Count; i++)
     {
         if (targetPositions.Count > i)
         {
             targetPositions[i]  = ConvertDecardToPolar(targets[i].position);
             targetDecart1[i]    = targets[i].position;
             targetDecart[i]     = PvoUtils.PolarToDec(ConvertDecardToPolar(targets[i].position));
             targetVelocities[i] = targets[i].GetComponent <TargetMover>().velocity;
         }
         else
         {
             targetPositions.Add(ConvertDecardToPolar(targets[i].position));
             targetDecart1.Add(targets[i].position);
             targetDecart.Add(PvoUtils.PolarToDec(ConvertDecardToPolar(targets[i].position)));
             targetVelocities.Add(targets[i].GetComponent <TargetMover>().velocity);
         }
     }
 }
Beispiel #3
0
 private Vector3 ConvertDecardToPolar(Vector3 vector3) => PvoUtils.DecToPolar(vector3 - pvo.position);