Beispiel #1
0
    public override bool die()
    {
        deathMaterial.SetFloat("_Period", deathTime);
        deathMaterial.SetFloat("_StartTime", Time.fixedTime);
        var ren = transform.GetComponentsInChildren <Renderer>();

        foreach (var r in ren)
        {
            r.material = deathMaterial;
        }
        //GetComponent<Renderer>().material = deathMaterial;
        if (RightWeapon != null)
        {
            RightWeapon.DropWeapon();
        }
        if (LeftWeapon != null)
        {
            LeftWeapon.DropWeapon();
        }
        if (rb != null)
        {
            rb.Sleep();
        }
        if (isEDF)
        {
            GetComponent <CapsuleCollider>().enabled = false;
        }
        Destroy(gameObject, deathTime);
        this.enabled = false;
        return(true);//base.die();
    }
Beispiel #2
0
        private void GenerateTempWeapons()
        {
            var wp = Resources.Load <GameObject>("Weapons/FixedMachineGun");

            LeftWeapon = Instantiate(wp, transform).GetComponent <IWeaponTopDown>();
            LeftWeapon.SetTip(new Vector3(-0.4f, 0, 0.2f));

            RightWeapon = Instantiate(wp, transform).GetComponent <IWeaponTopDown>();
            RightWeapon.SetTip(new Vector3(0.4f, 0, 0.2f));
        }
Beispiel #3
0
    public void Init(Minion minion, bool isEnemy, LeftWeapon leftWeapon = null, RightWeapon rightWeapon = null)
    {
        ManaCost  = minion.ManaCost;
        Attack    = minion.Attack;
        Hp        = minion.Hp;
        MoveSpeed = minion.MoveSpeed;
        KnockBack = minion.Knockback;

        _leftVector  = Vector2.left * Time.deltaTime * MoveSpeed;
        _rightVector = Vector2.right * Time.deltaTime * MoveSpeed;

        // _attackReach = minion.AttackReach;

        IsEnemy = isEnemy;

        if (isEnemy)
        {
            return;
        }

        var sprite = GetComponentsInChildren <SpriteRenderer>();

        sprite[0].sprite = minion.Artwork;

        if (leftWeapon != null)
        {
            sprite[1].sprite = leftWeapon.Artwork;

            if (rightWeapon != null)
            {
                sprite[2].sprite = rightWeapon.Artwork;
            }

            // 왼손 무기 확인
            if (leftWeapon.Id != 0)
            {
                Attack    += leftWeapon.AddAttack;
                KnockBack += leftWeapon.AddKnockback;
                ManaCost  += leftWeapon.AddManaCost;
            }
        }

        // 오른손 무기 확인
        if (rightWeapon == null || rightWeapon.Id == 0)
        {
            return;
        }

        Hp        += rightWeapon.AddHp;
        MoveSpeed += rightWeapon.AddMoveSpeed;
        KnockBack += rightWeapon.AddKnockBack;
        ManaCost  += rightWeapon.AddManaCost;
    }
Beispiel #4
0
 private void ShootLHold()
 {
     LeftWeapon.Use(transform.forward);
 }