Example #1
0
    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;
        }
    }
Example #2
0
    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);
 }
Example #5
0
 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);
    }
Example #7
0
    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);
                }
            }
        }
    }
Example #8
0
 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);
    }
Example #10
0
    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);
            }
        }
    }