public void OnWeaponSpawn(byte location, PlayerController.WeaponType type) { Vector3 sp; if (location >= _weaponSpawns.Length) { sp = _weaponSpawns[_weaponSpawns.Length - 1].transform.position; } else { sp = _weaponSpawns[location].transform.position; } switch (type) { case PlayerController.WeaponType.Machinegun: _weapons[location] = (GameObject)GameObject.Instantiate(_machinePrefab, sp, Quaternion.identity); _weapons[location].name = "Weapon_Machinegun_" + location.ToString(); break; case PlayerController.WeaponType.Flamethrower: _weapons[location] = (GameObject)GameObject.Instantiate(_flamePrefab, sp, Quaternion.identity); _weapons[location].name = "Weapon_Flamethrower_" + location.ToString(); break; case PlayerController.WeaponType.RPG: _weapons[location] = (GameObject)GameObject.Instantiate(_rpgPrefab, sp, Quaternion.identity); _weapons[location].name = "Weapon_RPG_" + location.ToString(); break; } }
public void OnShootEvent(byte id, float x, float y, PlayerController.WeaponType wep) { if (_state == GameState.Playing) { Vector3 tgDir = new Vector3(x, y, 0f); for (int i = 0; i < _npcs.Count; i++) { if (_npcs[i].GetComponent <PlayerController>().GetId() == id) { GameObject goPref = _bullet; if (wep == PlayerController.WeaponType.Flamethrower) { goPref = _flamethrowerBullet; } else if (wep == PlayerController.WeaponType.RPG) { goPref = _rpgBullet; } GameObject goBullet = GameObject.Instantiate(goPref); goBullet.transform.position = _npcs[i].transform.position + tgDir.normalized * 0.5f; goBullet.GetComponent <BulletController>().SetWeaponType(wep); goBullet.GetComponent <BulletController>().SetDirection(tgDir.normalized); goBullet.GetComponent <BulletController>().SetTeam(_npcs[i].GetComponent <PlayerController>().GetTeam()); } } } }
public void Hit(byte id, PlayerController.WeaponType wep) { byte[] msg = new byte[5]; msg[0] = (byte)CommandType.Hit; msg[1] = id; msg[2] = (byte)wep; _sendQueue.Enqueue(msg); }
public void PickWeapon(byte id, byte location, PlayerController.WeaponType type) { byte[] msg = new byte[5]; msg[0] = (byte)CommandType.PickWeapon; msg[1] = id; msg[2] = location; msg[3] = (byte)type; _sendQueue.Enqueue(msg); }
public void OnHitEvent(byte id, PlayerController.WeaponType wep) { if (_state == GameState.Playing) { for (int i = 0; i < _npcs.Count; i++) { if (_npcs[i].GetComponent <PlayerController>().GetId() == id) { _npcs[i].GetComponent <PlayerController>().OnHit(); } } } }
public void ShootEvent(byte id, Vector3 dir, PlayerController.WeaponType weapon) { byte[] msg = new byte[11]; msg[0] = (byte)CommandType.Shoot; msg[1] = id; byte[] bx = BitConverter.GetBytes(dir.x); byte[] by = BitConverter.GetBytes(dir.y); Array.Copy(bx, 0, msg, 2, 4); Array.Copy(by, 0, msg, 6, 4); msg[10] = (byte)weapon; _sendQueue.Enqueue(msg); }
public void OnWeaponPick(byte id, byte location, PlayerController.WeaponType type) { if (_state == GameState.Playing) { RemoveWeapon(location); for (int i = 0; i < _npcs.Count; i++) { if (_npcs[i].GetComponent <PlayerController>().GetId() == id) { _npcs[i].GetComponent <PlayerController>().SetWeapon(type); } } } }
public void SetWeaponType(PlayerController.WeaponType wep) { _weapon = wep; }
public void SyncPosition(byte id, float x, float y, Game.GameTeam team, byte rotation, PlayerController.WeaponType wep) { byte[] msg = new byte[13]; msg[0] = (byte)CommandType.SyncPosition; msg[1] = id; byte[] bx = BitConverter.GetBytes(x); byte[] by = BitConverter.GetBytes(y); Array.Copy(bx, 0, msg, 2, 4); Array.Copy(by, 0, msg, 6, 4); msg[10] = (byte)team; msg[11] = rotation; msg[12] = (byte)wep; _sendQueue.Enqueue(msg); }
public void OnSyncPosition(byte id, float x, float y, Game.GameTeam team, byte rotation, PlayerController.WeaponType weapon) { if (_state == GameState.Playing) { Vector3 np = new Vector3(x, y, 0f); bool found = false; for (int i = 0; i < _npcs.Count; i++) { if (_npcs[i].GetComponent <PlayerController>().GetId() == id) { _npcs[i].transform.position = np; _npcs[i].GetComponent <PlayerController>().SetRotation(rotation); if (_npcs[i].GetComponent <PlayerController>().GetWeapon() != weapon) { _npcs[i].GetComponent <PlayerController>().SetWeapon(weapon); } found = true; } } if (!found && id != _id) { OnPlayerSpawn(id, -1, team, np); } } }