public void SpawnBullet(ServerBullet bullet)
    {
        var spawnPosition = bullet.Owner.GunPointState.Position;
        var direction     = bullet.Owner.GunPointState.Direction;
        var spawnData     = new BulletSpawnData(bullet.Id, bullet.PlayerId, spawnPosition, direction);

        serverBullets.Add(bullet);

        bulletStates[bullet.Id] = bullet.Go(spawnData);
    }
Example #2
0
    public BulletStateData Go(BulletSpawnData spawnData)
    {
        //Debug.Log($"bullet {Id} Go");

        BulletState = new BulletStateData(Id, PlayerId, 0, spawnData.Position);
        bulletController.ResetTo(BulletState);

        Owner.AddBullet(this);

        return(BulletState);
    }
    internal void Initialize(BulletSpawnData spawnData)
    {
        Id       = spawnData.Id;
        playerId = spawnData.PlayerId;

        isLocal = playerId == ConnectionManager.Instance.Client.ID;

        transform.position = spawnData.Position;
        Direction          = spawnData.Velocity;

        interpolation.Initialize(new BulletStateData(Id, playerId, 0, spawnData.Position));

        bulletController.Controller.enabled = true;

        isInitialized = true;
    }