示例#1
0
        public override void CardGameAttack(Player attackPlayer, NPC attackNPC, Vector2 playerDrawPosition, Vector2 NPCDrawPosition, Vector2 panelPos)
        {
            EntrogicPlayer clientModPlayer = EntrogicPlayer.ModPlayer(attackPlayer);
            FireballBullet bullet          = new FireballBullet(NPCDrawPosition + new Vector2(0, -10f))
            {
                Velocity   = new Vector2(0f, 3.4f),
                Position   = playerDrawPosition + new Vector2(-10f, -6f),
                UIPosition = panelPos
            };

            clientModPlayer._bullets.Add(bullet);
        }
    private void ProcessManualAttack()
    {
        if (_time < 0 && Input.GetMouseButton(1))
        {
            Vector3 bulletPos = transform.position;
            bulletPos.y += 1;
            FireballBullet bullet = Instantiate(GameManager.Instance.SelfDrivenBulletPrefab, bulletPos,
                                                Quaternion.identity).GetComponent <FireballBullet>();

            Vector3 goTo = GameManager.Instance.LookAt.transform.position;
            goTo.y          = bulletPos.y;
            bullet.goToVect = goTo;
            _time           = _attackDelay;
        }
    }
    private void ProcessAutoAttack()
    {
        GameObject enemy = GameManager.Instance.GetClosestEnemy(transform.position);

        if (_time < 0 && enemy != null &&
            (enemy.transform.position - transform.position).magnitude <
            GameManager.Instance.AutoAttackDistance)
        {
            Vector3 bulletPos = transform.position;
            bulletPos.y += 1;
            FireballBullet bullet = Instantiate(GameManager.Instance.SelfDrivenBulletPrefab, bulletPos,
                                                Quaternion.identity).GetComponent <FireballBullet>();
            bullet.goToObj = enemy;
            _time          = _attackDelay;
        }
    }