Beispiel #1
0
        private void AddRocketProjectile(Vector2 position)
        {
            RocketProjectile rocketProjectile = new RocketProjectile();

            rocketProjectile.Initialize(GraphicsDevice.Viewport, rocketProjectileTexture, position);
            rocketProjectiles.Add(rocketProjectile);
        }
Beispiel #2
0
    protected override void OnUpdate()
    {
        if (PlayerInfo.Instance.Ammo[2] <= 0 && fireTime < .1f)
        {
            putAway = true;
        }

        if (attacking)
        {
            if (fireTime < attackHappenTime)
            {
                attacking = false;
                Vector3 d = Camera.main.transform.forward;
                Vector2 r = Random.insideUnitCircle * dispersion;
                d += Camera.main.transform.right * r.x + Camera.main.transform.up * r.y;
                d.Normalize();

                RocketProjectile rocket = Instantiate(AttackProjectile);
                rocket.owner = PlayerInfo.Instance.gameObject;
                rocket.transform.position = Camera.main.transform.position + spawnPos;
                rocket.transform.rotation = Quaternion.LookRotation(d);
                rocket.transform.SetParent(GameManager.Instance.TemporaryObjectsHolder);
            }
        }
    }
Beispiel #3
0
    public override void Activate(PlayerMechanics player)
    {
        RocketProjectile copy = Instantiate(RocketProjectile, player.transform.position, Quaternion.identity, SkillParent);

        Vector2 direction;

        if (Input.GetKey(KeyCode.W))
        {
            if (Input.GetKey(KeyCode.A))
            {
                direction = new Vector2(-1, 1);
                copy.transform.eulerAngles = new Vector3(0, 0, 45);
            }
            else if (Input.GetKey(KeyCode.D))
            {
                direction = new Vector2(1, 1);
                copy.transform.eulerAngles = new Vector3(0, 0, -45);
            }
            else
            {
                direction = new Vector2(0, 1);
            }
        }
        else if (Input.GetKey(KeyCode.A))
        {
            direction = new Vector2(-1, 0);
            copy.transform.eulerAngles = new Vector3(0, 0, 90);
        }
        else if (Input.GetKey(KeyCode.D))
        {
            direction = new Vector2(1, 0);
            copy.transform.eulerAngles = new Vector3(0, 0, -90);
        }
        else
        {
            direction = new Vector2(0, 1);
        }

        copy.SetDirection(direction);
    }