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(); }
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)); }
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; }
private void ShootLHold() { LeftWeapon.Use(transform.forward); }