示例#1
0
    public void TriggerBomb(GameManager.Types type)
    {
        this.type = type;
        ParticleSystem.MainModule main = pulse.main;
        switch (type)
        {
        case GameManager.Types.Green:
            main.startColor = Color.green;
            break;

        case GameManager.Types.Red:
            main.startColor = Color.red;
            break;

        case GameManager.Types.Blue:
            main.startColor = Color.blue;
            break;

        case GameManager.Types.Yellow:
            main.startColor = Color.yellow;
            break;
        }
        Destroy(bombBase);
        transform.DOMoveY(transform.position.y < 0 ? 18 : -18, Random.Range(minTime, maxTime));
        pulse.Play();
    }
示例#2
0
 public void HandleHit(GameManager.Types HitType)
 {
     if (HitType != shield)
     {
         //GetComponent<Rigidbody2D>().AddForce(new Vector2(-10000, 0), ForceMode2D.Impulse);
     }
 }
示例#3
0
    private void Fire(GameManager.Types type)
    {
        float xValue = state.ThumbSticks.Left.X, yValue = state.ThumbSticks.Left.Y;

        if (Mathf.Abs(xValue) < 0.01 && Mathf.Abs(yValue) < 0.01)
        {
            xValue = 1;
        }

        float   theta    = Mathf.Atan2(yValue, xValue) * 180 / Mathf.PI;
        Vector3 addition = Vector3.zero;

        if (Mathf.Abs(theta) <= 120)
        {
            addition = new Vector3(xValue, yValue, 0).normalized;
        }
        else
        {
            addition = new Vector3(-0.5f, 0.866f * Mathf.Sign(theta), 0);
        }

        Projectile projectile = Instantiate(projectilePrefab, transform.position + addition * 4, Quaternion.Euler(0, 0, Mathf.Clamp(theta, -120, 120))) as Projectile;

        projectile.gameObject.layer = gameObject.layer;
        projectile.Initialize(type);
        fireTime = fireDelay;
    }
示例#4
0
    private void SetShield(GameManager.Types type)
    {
        if (type == GameManager.Types.None)
        {
            shieldPs.Stop();
            return;
        }

        ParticleSystem.MainModule main = shieldPs.main;
        switch (type)
        {
        case GameManager.Types.Green:
            main.startColor = Color.green;
            break;

        case GameManager.Types.Red:
            main.startColor = Color.red;
            break;

        case GameManager.Types.Blue:
            main.startColor = Color.blue;
            break;

        case GameManager.Types.Yellow:
            main.startColor = Color.yellow;
            break;

        case GameManager.Types.None:
            break;
        }
        shieldPs.Play();
    }
示例#5
0
    public void Initialize(GameManager.Types type)
    {
        this.type = type;
        Color color = Color.white;

        switch (type)
        {
        case GameManager.Types.Green:
            color = Color.green;
            break;

        case GameManager.Types.Red:
            color = Color.red;
            break;

        case GameManager.Types.Blue:
            color = Color.blue;
            break;

        case GameManager.Types.Yellow:
            color = Color.yellow;
            break;
        }
        mesh.material.color = color;
        ParticleSystem.MainModule main = trail.main;
        main.startColor = color;
    }
示例#6
0
 private void ManageInput()
 {
     if (fireTime > 0)
     {
         fireTime -= Time.deltaTime;
     }
     GameManager.Types type = GameManager.Types.None;
     if (prevState.Buttons.A == ButtonState.Released && state.Buttons.A == ButtonState.Pressed)
     {
         type = GameManager.Types.Green;
     }
     else if (prevState.Buttons.B == ButtonState.Released && state.Buttons.B == ButtonState.Pressed)
     {
         type = GameManager.Types.Red;
     }
     else if (prevState.Buttons.X == ButtonState.Released && state.Buttons.X == ButtonState.Pressed)
     {
         type = GameManager.Types.Blue;
     }
     else if (prevState.Buttons.Y == ButtonState.Released && state.Buttons.Y == ButtonState.Pressed)
     {
         type = GameManager.Types.Yellow;
     }
     else if (state.Buttons.RightShoulder == ButtonState.Released || (state.Buttons.A == ButtonState.Released && state.Buttons.B == ButtonState.Released && state.Buttons.X == ButtonState.Released && state.Buttons.Y == ButtonState.Released))
     {
         SetShield(GameManager.Types.None);
         return;
     }
     if (state.Buttons.RightShoulder == ButtonState.Pressed)
     {
         SetShield(type);
     }
     else if (fireTime <= 0)
     {
         Fire(type);
     }
 }