Ejemplo n.º 1
0
        // 攻擊目標
        public override void Attack(ICharacter theTarget)
        {
            // 發射特效
            m_Weapon.ShowShootEffect();

            // 依目前武器決定攻擊方式
            switch (m_Weapon.GetWeaponType())
            {
            case ENUM_Weapon.Gun:
                // 顯示武器特效及音效
                m_Weapon.ShowBulletEffect(theTarget.GetPosition(), 0.03f, 0.2f);
                m_Weapon.ShowSoundEffect("GunShot");
                break;

            case ENUM_Weapon.Rifle:
                // 顯示武器特效及音效
                m_Weapon.ShowBulletEffect(theTarget.GetPosition(), 0.5f, 0.2f);
                m_Weapon.ShowSoundEffect("RifleShot");
                break;

            case ENUM_Weapon.Rocket:
                // 顯示武器特效及音效
                m_Weapon.ShowBulletEffect(theTarget.GetPosition(), 0.8f, 0.5f);
                m_Weapon.ShowSoundEffect("RocketShot");
                break;
            }

            // 攻擊
            m_Weapon.Fire(theTarget);
        }
Ejemplo n.º 2
0
        // 攻擊目標
        public override void Attack(ICharacter theTarget)
        {
            // 發射特效
            m_Weapon.ShowShootEffect();
            int AtkPlusValue = 0;

            // 依目前武器決定攻擊方式
            switch (m_Weapon.GetWeaponType())
            {
            case ENUM_Weapon.Gun:

                // 顯示武器特效及音效
                m_Weapon.ShowBulletEffect(theTarget.GetPosition(), 0.03f, 0.2f);
                m_Weapon.ShowSoundEffect("GunShot");

                // 有機率增加額外加乘
                AtkPlusValue = GetAtkPlusValue(5, 20);

                break;

            case ENUM_Weapon.Rifle:
                // 顯示武器特效及音效
                m_Weapon.ShowBulletEffect(theTarget.GetPosition(), 0.5f, 0.2f);
                m_Weapon.ShowSoundEffect("RifleShot");

                // 有機率增加額外加乘
                AtkPlusValue = GetAtkPlusValue(10, 25);

                break;

            case ENUM_Weapon.Rocket:
                // 顯示武器特效及音效
                m_Weapon.ShowBulletEffect(theTarget.GetPosition(), 0.8f, 0.5f);
                m_Weapon.ShowSoundEffect("RocketShot");

                // 有機率增加額外加乘
                AtkPlusValue = GetAtkPlusValue(15, 30);

                break;
            }

            // 設定額外加乘值
            m_Weapon.SetAtkPlusValue(AtkPlusValue);

            // 攻擊
            m_Weapon.Fire(theTarget);
        }
		// 攻擊目標
		public override void Attack( ICharacter theTarget)
		{
			// 發射特效
			m_Weapon.ShowShootEffect();
			int AtkPlusValue = 0;

			// 依目前武器決定攻擊方式
			switch(m_Weapon.GetWeaponType())
			{
			case ENUM_Weapon.Gun:

				// 顯示武器特效及音效
				m_Weapon.ShowBulletEffect(theTarget.GetPosition(),0.03f,0.2f);
				m_Weapon.ShowSoundEffect("GunShot");

				// 有機率增加額外加乘
				AtkPlusValue = GetAtkPlusValue(5,20);

				break;
			case ENUM_Weapon.Rifle:
				// 顯示武器特效及音效
				m_Weapon.ShowBulletEffect(theTarget.GetPosition(),0.5f,0.2f);
				m_Weapon.ShowSoundEffect("RifleShot");

				// 有機率增加額外加乘
				AtkPlusValue = GetAtkPlusValue(10,25);

				break;
			case ENUM_Weapon.Rocket:
				// 顯示武器特效及音效
				m_Weapon.ShowBulletEffect(theTarget.GetPosition(),0.8f,0.5f);
				m_Weapon.ShowSoundEffect("RocketShot");

				// 有機率增加額外加乘
				AtkPlusValue = GetAtkPlusValue(15,30);

				break;
			}

			// 設定額外加乘值
			m_Weapon.SetAtkPlusValue( AtkPlusValue );

			// 攻擊
			m_Weapon.Fire( theTarget );
		}
		// 攻擊目標
		public override void Attack( ICharacter theTarget)
		{
			// 發射特效
			m_Weapon.ShowShootEffect();
						
			// 依目前武器決定攻擊方式
			switch(m_Weapon.GetWeaponType())
			{
			case ENUM_Weapon.Gun:				
				// 顯示武器特效及音效
				m_Weapon.ShowBulletEffect(theTarget.GetPosition(),0.03f,0.2f);
				m_Weapon.ShowSoundEffect("GunShot");										
				break;
			case ENUM_Weapon.Rifle:
				// 顯示武器特效及音效
				m_Weapon.ShowBulletEffect(theTarget.GetPosition(),0.5f,0.2f);
				m_Weapon.ShowSoundEffect("RifleShot");
				break;
			case ENUM_Weapon.Rocket:
				// 顯示武器特效及音效
				m_Weapon.ShowBulletEffect(theTarget.GetPosition(),0.8f,0.5f);
				m_Weapon.ShowSoundEffect("RocketShot");							
				break;
			}
			
			// 攻擊
			m_Weapon.Fire( theTarget );
		}