
2.2 Лазерные лучи отнимают по 360 HP каждый выстрел, 6 выстрелов без перезарядки, перезарядка 2 сек. 2.4 У врагов случайным образом выбирается оружие.
67 lines
1.7 KiB
C#
67 lines
1.7 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
|
|
public class SwitchWeapon : MonoBehaviour
|
|
{
|
|
public enum TypeOfWeapon
|
|
{
|
|
Bolt,
|
|
Laser,
|
|
Random
|
|
}
|
|
|
|
[SerializeField] private TypeOfWeapon _weaponType;
|
|
[SerializeField] private List<PlayerAction> _weaponlist = new List<PlayerAction>();
|
|
|
|
private PlayerState _playerState;
|
|
private AttackEnergyController _attackEnergiController; // = new AttackEnergyController();
|
|
|
|
//public float ResetTime { get { return _attackEnergiController.attackResetTime;} set {value = _attackEnergiController.attackResetTime; }}
|
|
|
|
private void Awake()
|
|
{
|
|
_attackEnergiController = GetComponent<AttackEnergyController>();
|
|
|
|
_playerState = GetComponent<PlayerState>();
|
|
ChangehWeapon(_weaponType);
|
|
}
|
|
|
|
private void ChangehWeapon(TypeOfWeapon weapon)
|
|
{
|
|
if(weapon == TypeOfWeapon.Bolt)
|
|
{
|
|
MakeWeapon(0);
|
|
}
|
|
|
|
if (weapon == TypeOfWeapon.Laser)
|
|
{
|
|
MakeWeapon(1);
|
|
}
|
|
|
|
if(weapon == TypeOfWeapon.Random)
|
|
{
|
|
MakeWeapon(Random.Range(0, _weaponlist.Count));
|
|
}
|
|
}
|
|
|
|
private void MakeWeapon(int weaponIndex)
|
|
{
|
|
_playerState.defaultAction = _weaponlist[weaponIndex];
|
|
|
|
if(weaponIndex == 0)
|
|
{
|
|
_attackEnergiController.attackResetTime = 3f;
|
|
_attackEnergiController.attackCost = 1f;
|
|
}
|
|
|
|
if(weaponIndex == 1)
|
|
{
|
|
_attackEnergiController.attackResetTime = 2f;
|
|
_attackEnergiController.attackCost = 0.5f;
|
|
}
|
|
}
|
|
}
|
|
|
|
|