Ejemplo n.º 1
0
    private void Update()
    {
        float moveX = 0f;
        float moveY = 0f;

        if (Input.GetKey(KeyCode.W))
        {
            moveY = +1f;
        }
        if (Input.GetKey(KeyCode.S))
        {
            moveY = -1f;
        }
        if (Input.GetKey(KeyCode.A))
        {
            moveX = -1f;
        }
        if (Input.GetKey(KeyCode.D))
        {
            moveX = +1f;
        }

        Vector3 moveDir;

        switch (axis)
        {
        default:
        case Axis.XZ:
            moveDir = new Vector3(moveX, 0, moveY).normalized;
            break;

        case Axis.XY:
            moveDir = new Vector3(moveX, moveY).normalized;
            break;
        }

        if (moveX != 0 || moveY != 0)
        {
            // Not idle
        }

        if (axis == Axis.XZ)
        {
            moveDir = UtilsClass.ApplyRotationToVectorXZ(moveDir, 30f);
        }

        transform.position += moveDir * moveSpeed * Time.deltaTime;
    }
 public void SpawnBlood(int bloodParticleCount, Vector3 position, Vector3 direction)
 {
     for (int i = 0; i < bloodParticleCount; i++)
     {
         Vector3 dir;
         if (meshParticleSystem.GetAxis() == MeshParticleSystem.Axis.XY)
         {
             dir = UtilsClass.ApplyRotationToVector(direction, Random.Range(-15f, 15f));
         }
         else
         {
             dir = UtilsClass.ApplyRotationToVectorXZ(direction, Random.Range(-15f, 15f));
         }
         singleList.Add(new Single(position, dir, meshParticleSystem));
     }
 }