IEnumerator SwitchWeapons() { switching = true; while (range != 0 || loaded == false) //if currently shooting or charging, wait for that to end before switching { yield return(new WaitForSeconds(0.1f)); } loaded = false; wait = true; //animation of hand coming down??? yield return(new WaitForSeconds(0.2f)); //Debug.Log ("wtf"); if (currWeapon != switchWeapon) { if (projectile != null) { Destroy(projectile); } currWeapon = switchWeapon; LoadWeapon(); } wait = false; loaded = true; switching = false; }
protected virtual void InitWeapon() { weapons = new Weapons.Weapon[weaponInfos.Length]; for (int i = 0; i < weaponInfos.Length; i++) { weapons[i] = new Weapons.Weapon(weaponInfos[i].barrelGameObjs, weaponInfos[i].shootFrequency, team, weaponInfos[i].poolName); } }
// Use this for initialization void Start() { //startPosition = transform.position; //moveDir = transform.forward * speed; weapon = Weapons.weapons[color]; moveDir = transform.forward * weapon.projectileSpeed; //moveDir = transform.forward * speed; }
// Use this for initialization void Start() { inventory = gameObject.GetComponent <Weapons> (); currWeapon = inventory.items[0]; toLoad = inventory.Rock; LoadWeapon(); loaded = true; //put powerImage on mouse position PowerImage.transform.position = Input.mousePosition + new Vector3(16, -16, 0); }
//Function to check if valid quantity for weapon public bool CheckQuantity(Weapons.Weapon item) { if (item.quantity > 0 || item.quantity < 0) { return(true); } else { return(false); } }
void EquipWeapon() { // make sure our weapons have been instantiated if (Weapons.weapons != null) { myWeapon = Weapons.weapons[(PhotonColor)curWeapon]; projectile = myWeapon.projectile; Debug.Log("Changed weapon to: " + projectile.name + " " + myWeapon.color); } }
public void CheckWeapon(Weapons.Weapon w) { if (w == currentWeapon) { return; } else { currentWeapon = w; SetWeapon(w); } }
//Function for loading weapon on screen //Checks name of currWeapon to know which object to load public void LoadWeapon() { //spawn position for weapons Vector3 spawnPOS = Camera.main.transform.position + Camera.main.transform.forward + new Vector3(0.5f, -0.2f, 0); //Check is weapon quantity is above 0. If quantity is below 0, it is infinite if (!CheckQuantity(currWeapon)) { //load rock since currWeapon does not have a valid quantity switchWeapon = inventory.items[0]; currWeapon = inventory.items[0]; toLoad = inventory.Rock; } //load projectile projectile = (GameObject)Instantiate(toLoad, spawnPOS, Camera.main.transform.rotation); projectile.GetComponent <Rigidbody> ().isKinematic = true; projectile.transform.parent = Camera.main.transform; rangeRate = currWeapon.chargeRate; }
public void SetWeapon(Weapons.Weapon w) { Destroy(weaponChild); weaponChild = Instantiate(Weapons.GetWeapon(w), weapon.transform); weaponActiveSprite = weaponChild.GetComponentInChildren <ActiveSprite>(); weaponActiveSprite.parent = gameObject; Transform renderer = weaponChild.transform.Find("Renderer"); bulletSpawn = renderer.Find("BulletSpawn"); shellSpawn = renderer.Find("ShellSpawn"); weaponFire = renderer.Find("Fire").gameObject; weaponFireActiveSprite = weaponFire.GetComponentInChildren <ActiveSprite>(); weaponFireActiveSprite.parent = gameObject; Weapon ws = weaponChild.GetComponent <Weapon>(); speed = ws.Speed; shootDelay = ws.ShootDelay; spray = ws.Spray; damage = ws.Damage; reloadTime = ws.ReloadTime; magazinSize = ws.MagazinSize; fireClip = ws.Audio; shootCount = 0; }
// Use this for initialization void Start() { if (Weapons.weapons == null) { Weapons.weapons = new Dictionary <PhotonColor, Weapons.Weapon>(); } Weapons.Weapon newWeapon = new Weapons.Weapon(); // only add weapon if it doesn't exist if (!Weapons.weapons.ContainsKey(color)) { Weapons.weapons.Add(color, newWeapon); } Debug.Log("Added weapon color" + color); newWeapon.amplitudeHorizontal = amplitudeHorizontal; newWeapon.amplitudeSpeed = amplitudeSpeed; newWeapon.color = color; newWeapon.projectile = basicProjectile; newWeapon.projectileDamage = projectileDamage; newWeapon.projectileSpeed = projectileSpeed; }
public void CreateCollisionPoints(Weapons.Weapon weapon) { }
public void SetWeapon(Weapons.Weapon w) { photonView.RPC("SetWeaponRPC", PhotonTargets.All, (int)w); }
// Update is called once per frame void Update() { //Switching Weapons if (Input.GetKeyDown(KeyCode.Alpha1) && currWeapon != inventory.items[0] && CheckQuantity(inventory.items[0]) && !inventory.items[0].locked) { if (switchWeapon != inventory.items[0]) { switchWeapon = inventory.items[0]; toLoad = inventory.Rock; StartCoroutine("SwitchWeapons"); } } if (Input.GetKeyDown(KeyCode.Alpha2) && currWeapon != inventory.items[1] && CheckQuantity(inventory.items[1]) && !inventory.items[1].locked) { if (switchWeapon != inventory.items[1]) { switchWeapon = inventory.items[1]; toLoad = inventory.Brick; StartCoroutine("SwitchWeapons"); } } if (Input.GetKeyDown(KeyCode.Alpha3) && currWeapon != inventory.items[2] && CheckQuantity(inventory.items[2]) && !inventory.items[2].locked) { if (switchWeapon != inventory.items[2]) { switchWeapon = inventory.items[2]; toLoad = inventory.Javelin; StartCoroutine("SwitchWeapons"); } } if (Input.GetKeyDown(KeyCode.Alpha4) && currWeapon != inventory.items[3] && CheckQuantity(inventory.items[3]) && !inventory.items[3].locked) { if (switchWeapon != inventory.items[3]) { switchWeapon = inventory.items[3]; toLoad = inventory.Discus; StartCoroutine("SwitchWeapons"); } } if (Input.GetKeyDown(KeyCode.Alpha5) && currWeapon != inventory.items[4] && CheckQuantity(inventory.items[4]) && !inventory.items[4].locked) { if (switchWeapon != inventory.items[4]) { switchWeapon = inventory.items[4]; toLoad = inventory.Shotput; StartCoroutine("SwitchWeapons"); } } //Input for rotating camera rotationX += Input.GetAxis("KeyboardRotate") * sensitivityX; rotationX = Mathf.Clamp(rotationX, minimumX, maximumX); transform.localEulerAngles = new Vector3(-rotationY, rotationX, 0); //Take input for canceling shot if (Input.GetButtonDown("Fire2") && !wait && shooting == true) { StartCoroutine("CancelShot"); } //Take input for how far to shoot projectile if (Input.GetButton("Fire1") && !wait && loaded == true) { shooting = true; switch (state) { case ThrowState.STATE_UP: range += rangeRate * Time.deltaTime; if (range >= maxRange) { range = maxRange; StartCoroutine("HoldCharge"); state = ThrowState.STATE_HOLD; } break; case ThrowState.STATE_HOLD: break; case ThrowState.STATE_DOWN: range -= (rangeRate / 2) * Time.deltaTime; if (range <= 0) { range = 0; state = ThrowState.STATE_UP; } break; } } //If shot has ended, smoothly reset power bar if (!shooting && range > 0) { range -= 400 * Time.deltaTime; } if (range < 0) { range = 0; } //Shoot projectile when player releases mouse button if (Input.GetButtonUp("Fire1") && !wait && loaded == true) { StopCoroutine("HoldCharge"); state = ThrowState.STATE_HOLD; StartCoroutine("Shoot"); } //change powerbar value powerBar.value = range / maxRange; PowerImage.fillAmount = range / maxRange; //put powerImage on mouse position PowerImage.transform.position = Input.mousePosition + new Vector3(13, -13, 0); // + new Vector3(16,-16,0); Camera.main.fieldOfView = Mathf.Lerp(maxFOV, minFOV, powerBar.value); ////Have projectile facing mouse position while not thrown if (loaded && projectile != null) { //Find mouse position and set lookPoint Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); Vector3 lookPoint; if (range > 5) { lookPoint = ray.origin + (ray.direction * range); } else { lookPoint = ray.origin + (ray.direction * 5); } Debug.DrawRay(ray.origin, ray.direction, Color.green, 1); projectile.transform.LookAt(lookPoint); } }
/// <summary> /// Takes a Room and creates everything that is not a floor tile /// </summary> /// <param name="enemyTexture">Texture of enemies in this room</param> /// <param name="wallTexture">Texture of walls in this room</param> public void initRoom(Texture2D wallTextures, Texture2D floorTextures, Graph.Graph graph) { //Init room's textures this.wallTextures = wallTextures; this.floorTextures = floorTextures; //Should change this later int tileSize = 64; int roomSize = 10; int enemySpriteWidth = 39; int enemySpriteHeight = 38; Pod pod = new Pod(); for (int i = 0; i < roomSize; i++) { for (int j = 0; j < roomSize; j++) { Vector2 currPos = new Vector2( position.X + tileSize * i, position.Y + tileSize * j); Vector2 midPos = new Vector2( currPos.X + (tileSize / 4), currPos.Y + (tileSize / 4)); switch (tileLayout[i, j]) { //Create walls case TileType.WALL: ChunkManager.Instance.Add( new Wall( floorTextures, currPos, new Rectangle( (int)currPos.X, (int)currPos.Y, tileSize, tileSize))); break; //Move player case TileType.PLAYER: Player.Instance.Position = currPos; Player.Instance.ResetPlayerNewMap(); Player.Instance.CurrWeapon.ResetWeapon(); Weapons.Weapon temp = Player.Instance.CurrWeapon; temp.X = currPos.X + Player.Instance.BoundingBox.Width / 2; temp.Y = currPos.Y + Player.Instance.BoundingBox.Height / 2; Camera.Instance.resetPosition(Player.Instance.Position); //Add this position to the graph graph.Add(new Graph.GraphNode(midPos)); spawnroom = true; break; //Create Melee Enemies case TileType.MELEEENEMY: graph.Add(new Graph.GraphNode(midPos)); //Create new enemy MeleeEnemy newEnemy = new MeleeEnemy( TextureManager.Instance.GetEnemyTexture("EnemyTexture"), midPos, new Rectangle( (int)midPos.X, (int)midPos.Y, enemySpriteWidth, enemySpriteHeight)); //Add Enemy to game EntityManager.Instance.Add(newEnemy); ChunkManager.Instance.Add(newEnemy); pod.Add(newEnemy); break; //Create Turret Enemies case TileType.TURRET: //Create new enemy TurretEnemy turret = new TurretEnemy( TextureManager.Instance.GetEnemyTexture("EnemyTexture"), midPos, new Rectangle( (int)midPos.X, (int)midPos.Y, enemySpriteWidth, enemySpriteHeight)); //Add Enemy to game EntityManager.Instance.Add(turret); ChunkManager.Instance.Add(turret); pod.Add(turret); break; case TileType.DASHENEMY: graph.Add(new Graph.GraphNode(midPos)); //Create new enemy DashEnemy dash = new DashEnemy( TextureManager.Instance.GetEnemyTexture("EnemyTexture"), midPos, new Rectangle( (int)midPos.X, (int)midPos.Y, enemySpriteWidth, enemySpriteHeight)); //Add Enemy to game EntityManager.Instance.Add(dash); ChunkManager.Instance.Add(dash); pod.Add(dash); break; default: //Add this position to the graph graph.Add(new Graph.GraphNode(midPos)); break; } } } PodManager.Instance.Add(pod); InitTextureMap(); }
public DullOrb(Weapons.Weapon weapon) : base(weapon) { OrbSprite = "orb_sphere"; OrbColor = Color.SlateGray; }
public void CreatePointsKillEnemy(NPC enemy, Weapons.Weapon weapon) { AddPoints(enemy.PointValue * CurrentLevel.Number * 525); }
public AlchemicalOrb(Weapons.Weapon weapon) { Weapon = weapon; }
public virtual bool IsExecutable(Weapons.Weapon weapon) { return(true); }
// Use this for initialization void Start() { weapon = transform.parent.GetComponent <ProjectileMovement>().weapon; color = transform.parent.GetComponent <ProjectileMovement>().color; }