public void OnTriggerExit(Collider collision) { if (collision.gameObject.tag == "AtkSpd") { AbstractWeapon.GetWeaponCooldownHolder(this.gameObject).SetCooldownMultiplier(1.0f); } }
private void EquipWeapons() { if (frontWeaponObject != null) { frontWeaponObject.gameObject.SetActive(false); } if (backWeaponObject != null) { backWeaponObject.gameObject.SetActive(false); } RobotWeaponsManager weaponsManager = RobotWeaponsManager.Instance; RobotWeapon frontWeapon = weaponsManager.FrontWeapon; if (frontWeapon != null) { frontWeaponObject = Instantiate(weaponsManager.FrontWeapon.prefab, configuration.FrontWeaponPosition.position, Quaternion.identity, transform); frontWeaponObject.EquipToPlayer(gameObject); } else { Debug.Log("no front weapon equipped, not instantiating"); } RobotWeapon backWeapon = weaponsManager.BackWeapon; if (backWeapon != null) { backWeaponObject = Instantiate(weaponsManager.BackWeapon.prefab, configuration.BackWeaponPosition.position, Quaternion.identity, transform); backWeaponObject.EquipToPlayer(gameObject); } else { Debug.Log("no back weapon equipped, not instantiating"); } }
private void HandleWeapon(AbstractWeapon weapon, bool idle, int direction) { if (weapon) { if (!idle || forceIdleWeapon) { switch (direction) { case 0: weapon.transform.SetParent(transform.Find("HandForwards"), false); break; case 1: weapon.transform.SetParent(transform.Find("HandLeft"), false); break; case 2: weapon.transform.SetParent(transform.Find("HandBackwards"), false); break; case 3: weapon.transform.SetParent(transform.Find("HandRight"), false); break; } } forceIdleWeapon = false; } }
void Start() { equippedWeapon = primaryWeapon; equippedSlot = "Primary"; refillAmmunition(); }
private void Start() { gameManager = GameObject.Find("GameManager").GetComponent <GameManager>(); weapon = gameManager.weapon.GetWeapon(WeaponType.Shotgun); weapon.Create(transform); Assert.IsTrue(gameManager != null); }
public void AddWeapon(AbstractWeapon weapon) { bool alreadyExists = false; foreach (AbstractAbilityCooldown aac in weaponHolders) { if (aac.GetAbility() == weapon as AbstractAbility) { alreadyExists = true; } } if (!alreadyExists) { if (weapon.cdString == "OnHold") { weaponHolders.Add(this.transform.gameObject.AddComponent <OnHoldAbilityCooldown>()); } if (weapon.cdString == "OnRelease") { weaponHolders.Add(this.transform.gameObject.AddComponent <OnReleaseAbilityCooldown>()); } if (weapon.cdString == "QuickCast") { weaponHolders.Add(this.transform.gameObject.AddComponent <QuickCastAbilityCooldown>()); } CreateWeaponGameObject(weapon); weaponHolders[weaponHolders.Count - 1].Initialise(weapon, this.transform.gameObject); weaponHolders[weaponHolders.Count - 1].SetKeyCode(KeyCode.Mouse0); weaponHolders[weaponHolders.Count - 1].enabled = false; } }
public AbstractSolder(string unitCode, string rank, AbstractWeapon gun, AbstractGadgets gadgets) { UnitСode = unitCode; Rank = rank; Weapon = gun; Gadgets = gadgets; }
public void Awake() { referenceWeapon = weaponPrefab.GetComponent<AbstractWeapon>(); if (referenceWeapon.transform.GetComponent<TrailRenderer>()) { hasTrail = true; trailTime = referenceWeapon.transform.GetComponent<TrailRenderer>().time; } Register(referenceWeapon.Name, this); weaponPool = new GameObjectPool(weaponPrefab, maxPoolSize, initialPoolSize, transform); if (impactPrefabs != null && impactPrefabs.Length > 0) { impactPools = new GameObjectPool[impactPrefabs.Length]; for (int i = 0; i < impactPrefabs.Length; i++) { impactPools[i] = new GameObjectPool(impactPrefabs[i], maxImpactPoolSize, initialImpactPoolSize, transform); } } if (muzzleFlashPrefabs != null && muzzleFlashPrefabs.Length > 0) { muzzlePools = new GameObjectPool[muzzleFlashPrefabs.Length]; for (int i = 0; i < muzzleFlashPrefabs.Length; i++) { muzzlePools[i] = new GameObjectPool(muzzleFlashPrefabs[i], maxMuzzleFlashPoolSize, initialMuzzleFlashPoolSize, transform); } } impactIdx = 0; muzzleIdx = 0; }
/// <summary> /// Swaps current weapon with new one and returns the old one. If the current weapon is null, /// null is returned. /// /// Use this method when picking up new weapon. /// </summary> /// <param name="newWeapon">New weapon.</param> /// <returns>New weapon or null if no weapon was equipped.</returns> public AbstractWeapon SwapWeapon(AbstractWeapon newWeapon) { AbstractWeapon oldWeapon = Weapon; Weapon = newWeapon; return(oldWeapon); }
public override void EquipItem(AbstractWeapon weapon) { if (currentWeapon != null) { currentWeapon.Drop(); } var weaponHolder = transform.Find("Weapon"); weaponHolder.transform.rotation = new Quaternion(0, 0, 0, 0); currentWeapon = weapon; currentWeapon.Pickup(this); currentWeapon.transform.parent = weaponHolder; currentWeapon.transform.localScale = new Vector3(1, 1, 1); if (currentWeapon.weaponType == WeaponType.PROJECTILE) { gameObject.GetComponentInChildren <UtilityLookAtMouse>().enabled = true; } else { gameObject.GetComponentInChildren <UtilityLookAtMouse>().enabled = false; } }
public override void SwitchWeapon(AbstractWeapon weapon) { base.SwitchWeapon(weapon); if (weapon is RangeWeapon && projectileGuide != null) { ((RangeWeapon)weapon).projectileGuide = projectileGuide; } }
public void OnTriggerEnter(Collider collision) { if (collision.gameObject.tag == "AtkSpd") { // Change GetFirstWeapon to apply attack speed to all weapons? AbstractWeapon.GetWeaponCooldownHolder(this.gameObject).SetCooldownMultiplier(1.0f / attackSpeedMultiplier); } }
// Workaround for unity bug where OnTriggerExit is not called if the object tracking entry // or exit is destroyed. IEnumerator DestroyObject(GameObject gameObject) { yield return(new WaitForSeconds(despawnTimer)); Destroy(gameObject); AbstractWeapon.GetWeaponCooldownHolder(this.gameObject).SetCooldownMultiplier(1.0f); }
// this will be called after the object is instatiated by SetWeapon on the weapon (if aim assist is on) public void Initialize(AbstractWeapon setWeapon) { weapon = setWeapon; transform.position = weapon.transform.position; transform.localPosition = Vector3.zero; weaponRange = weapon.weaponRange; weaponArc = weapon.weaponArc; WeaponTargettingState = TargettingState.Setup; }
IEnumerator EquipWeaponUI(AbstractWeapon weapon) { yield return(new WaitForEndOfFrame()); UIManager.instance.EquipAmmo(weapon.ammoType); //load the clip, maybe is changed (new weapon for example) UIManager.instance.ReloadAmmo(weapon.ammoType, weapon.maxClip, weapon.ammo, weapon.perfectAmmo); UIManager.instance.SetEquipedWeapon(weapon.weaponType); }
public int RollDamage(AbstractWeapon weapon, int criticalMultiplier) { var rolledDamage = 0; for (int i = 0; i < criticalMultiplier; i++) { rolledDamage += weapon.DamageDie.Roll(); } return(rolledDamage); }
void ConfigReloadBar(AbstractWeapon weapon) { weapon.reloadBar = reloadBar; weapon.slider = slider; weapon.perfectImage = perfectRange; weapon.activeImage = activeRange; weapon.startBar = startBar; weapon.endBar = endBar; weapon.ConfigWeapon(); }
/// <summary> /// Red gem weapon decorator /// </summary> /// <param name="weapon"> Accepts a weapon to decorate </param> public RedGem(AbstractWeapon weapon) { Weight += weapon.Weight; Value += (weapon.Value / 2) + 30; Name = "Flamming " + weapon.Name; Damage = weapon.Damage; MagicDamage += weapon.MagicDamage + 10; Decorated = true; inEngineName = "flamming" + weapon.inEngineName; }
/// <summary> /// Red gem weapon decorator /// </summary> /// <param name="weapon"> Accepts a weapon to decorate </param> public BlueGem(AbstractWeapon weapon) { Weight += weapon.Weight; Value += (weapon.Value / 2) + 30; Name = "Shock " + weapon.Name; Damage = weapon.Damage + 5; MagicDamage += weapon.MagicDamage + 8; Decorated = true; inEngineName = "shock" + weapon.inEngineName; }
/// <summary> /// Red gem weapon decorator /// </summary> /// <param name="weapon"> Accepts a weapon to decorate </param> public GreenGem(AbstractWeapon weapon) { Weight += weapon.Weight; Value += (weapon.Value / 2) + 30; Name = "Deluged " + weapon.Name; Damage += weapon.Damage + 5; MagicDamage += weapon.MagicDamage + 5; Decorated = true; inEngineName = "deluged" + weapon.inEngineName; }
/* * Add a weapon to your inventory * Remove the currently held weapon if necessary to make room */ public void addWeapon(AbstractWeapon weapon) { if(weaponList.Count < maxWeaponCapacity) { DropWeapon(currentWeapon); weaponList.Add(weapon); currentWeapon = weapon; } else { // Add the weapon } }
public void DropWeapon(AbstractWeapon weapon) { if(weaponList.Count > 0) { // TODO: Drop the current weapon infront of the player weaponList.Remove(currentWeapon); currentWeapon = weaponList.ToArray()[0]; } }
/// <summary> /// Initializes Monster to also have a state and health, inventory, armor, weapons and location. /// </summary> /// <param name="health"></param> /// <param name="inventory"></param> /// <param name="location"></param> /// <param name="armor"></param> /// <param name="weapon"></param> /// <param name="name"></param> /// <param name="description"></param> /// <param name="state"></param> public Monster(int health, List <AbstractItem> inventory, Room location, AbstractArmor armor, AbstractWeapon weapon, string name, string description, CreatureState state) : base(health, inventory, armor, weapon) { Location = location; Behavior = NpcBehavior.WARY; State = state; Description = description; Name = name; }
public void DropWeapon(AbstractWeapon weapon) { if (weaponList.Count > 0) { // TODO: Drop the current weapon infront of the player weaponList.Remove(currentWeapon); currentWeapon = weaponList.ToArray()[0]; } }
public void ShowWeaponInfo(AbstractWeapon weapon) { ItemName.text = weapon.ItemName; ItemDamage.text = weapon.attackDamage.ToString(); ItemSpeed.text = weapon.attackSpeed.ToString(); ItemAbilityDamage.text = weapon.secondaryAttackDamage.ToString(); ItemManaCost.text = weapon.secondaryAttackManaCost.ToString(); transform.position = new Vector3(Input.mousePosition.x, Input.mousePosition.y + 100, 0); ClampToWindow(); }
private void Weapon_StatusChanged(AbstractWeapon sender, bool isActive) { if (Attacking && isActive) { OnAttacking(); } else if (Attacking) { OnAttackStopped(); } }
public static void ShowWeaponInfo(AbstractWeapon weapon) { if (itemInfo == null) { Debug.LogError(TAG + "No item hover info has been attatched"); return; } itemInfo.gameObject.SetActive(true); itemInfo.ShowWeaponInfo(weapon); }
/// <summary> /// Inserta un arma al inventrio /// </summary> /// <param name="w">Arma a insertar</param> public void InsertWeapon(AbstractWeapon w) { if (Weapons.ContainsKey(w.ItemName)) { Weapons[w.ItemName].Second++; } else { Weapons[w.ItemName] = new Tuple <AbstractWeapon, int>(w, 1); } }
public override bool Equals(AbstractWeapon other) { if (this._name.Equals(other.Name) && other.GetType() == this.GetType()) { return true; } else { return false; } }
} // Set to true when the player consumes an agility potion public AbstractCreature(int health, List <AbstractItem> inventory, AbstractArmor armor, AbstractWeapon weapon) { Id = String.Format("CR{0}", creaturesCreated++); Health = health; MaxHealth = health; Inventory = inventory; Weapon = weapon; Armor = armor; Inventory.Add(Weapon); Inventory.Add(Armor); }
/// <summary> /// Retorna el lista de armas y su cantidad en el inventorio /// </summary> /// <returns></returns> public List <Tuple <AbstractWeapon, int> > GetWeapons() { List <Tuple <AbstractWeapon, int> > returnList = new List <Tuple <AbstractWeapon, int> >(); foreach (string key in Weapons.Keys) { AbstractWeapon i = Weapons[key].First; int cant = Weapons[key].Second; returnList.Add(new Tuple <AbstractWeapon, int>(i, cant)); } return(returnList); }
public override void EquipItem(AbstractWeapon weapon) { if (currentWeapon != null) { currentWeapon.Drop(); } currentWeapon = weapon; currentWeapon.Pickup(this); currentWeapon.transform.parent = transform.Find("Weapon"); currentWeapon.transform.localScale = new Vector3(1, 1, 1); }
/* * Add a weapon to your inventory * Remove the currently held weapon if necessary to make room */ public void addWeapon(AbstractWeapon weapon) { if (weaponList.Count < maxWeaponCapacity) { DropWeapon(currentWeapon); weaponList.Add(weapon); currentWeapon = weapon; } else { // Add the weapon } }
public AbstractActor() { RemoveStates = new Dictionary <string, Dictionary <string, AbstractState> >(); Stats = new Attribute(); MainHand = new AbstractWeapon(); Helmet = new AbstractArmor(); Body = new AbstractArmor(); Feet = new AbstractArmor(); Ring = new AbstractArmor(); Necklace = new AbstractArmor(); Job = new AbstractJob(); AbstractAbility aux = new AbstractAbility(); }
public void IscarriableTest() { _abstractWeapon = new Knife(); Assert.AreEqual(_abstractWeapon.Carriable, true); }
// Use this for initialization void Start() { Vector3 pos = transform.position; pos.y += sumToY; weapon = Instantiate(weapon, pos, transform.rotation) as AbstractWeapon; unitManager = GameObject.FindWithTag("UnitManager").GetComponent<UnitManager>(); }
public void IsOnTest() { _abstractWeapon = new Knife(); Assert.AreEqual(_abstractWeapon.IsOn, false); }
public void NameTest() { _abstractWeapon = new Knife(); Assert.AreEqual(_abstractWeapon.Name, "Hunting Knife"); }
void SetWeapon(AbstractWeapon weap) { //maybe cache these? idk. doesn't seem like too much overhead at the moment. this.action = new AttackAction(weap); }