コード例 #1
0
    // Update is called once per frame
    void FixedUpdate()
    {
        if (Input.GetButtonDown("ActionP" + playerNum))
        {
            if (skillId >= 0)
            {
                skill.Cast();
            }
        }
        if (fireSpeedTimer > 0)
        {
            fireSpeedTimer -= Time.fixedDeltaTime;
        }

        if (fireSpeedTimer <= 0)
        {
            if (Input.GetButton("FireP" + playerNum))
            {
                weapon.GetComponent <Weapon>().Fire();
                fireSpeedTimer = fireSpeed;
            }
        }
        if (arenaManager.gameEnded == false)
        {
            if (health <= 0)
            {
                if (arenaManager.gameEnded == false)
                {
                    arenaManager.EndGame(playerNum);
                    arenaManager.gameEnded = true;
                    gameObject.GetComponent <SpriteRenderer>().sprite       = Resources.Load <Sprite>("Arena/Sprites/death");
                    gameObject.GetComponent <SpriteRenderer>().sortingOrder = 25;
                    canMove = false;
                    Destroy(GetComponent <CircleCollider2D>());
                }
            }
        }
        if (canMove)
        {
            Move();
        }
    }
コード例 #2
0
    IEnumerator Death()
    {
        arenaManager.EndGame();
        cam.aimLocked    = true;
        Cursor.lockState = CursorLockMode.None;
        Cursor.visible   = true;

        Instantiate(deathSystem, transform.position, Quaternion.Euler(-90f, 0f, 0f));
        float t = Time.time;

        while (Time.time - t < 1.5)
        {
            foreach (MeshRenderer mesh in componentRenderers)
            {
                mesh.material.SetFloat("_Dissolve", mesh.material.GetFloat("_Dissolve") + Time.deltaTime * 0.5f);
            }
            yield return(null);
        }

        yield return(new WaitForSeconds(3));

        uiManager.PlayerDeath();
    }