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); }
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; }