private Player GetPlayer(PlayerDataContext playerDataContext) { Player player = Player.Create(playerDataContext); player.transform.parent = transform; player.Wait(); return(player); }
public void SetDataContext(PlayerDataContext dataContext) { if (DataContext == null) { DataContext = dataContext; } else { Debug.LogWarning("'DataContext' cannot be changed."); } }
public virtual void AddPlayer(PlayerDataContext playerDataContext) { if (Players.Count == GetMaxPlayerCount()) { throw new Exception("The maximum number of players has been reached."); } Players.Add(GetPlayer(playerDataContext)); Player player = Players.Last(); player.Ball = GetPlayerBall(); }
private void Play(GameMode mode) { Game = PoolGameFactory.Create(mode); Game.transform.parent = transform; // başka oyuncular da eklenebilir. var playerData = new PlayerDataContext("aliozer") { Name = "Ali" }; UIManager.AddPlayer(playerData); Game.AddPlayer(playerData); playerData = new PlayerDataContext("ezgi") { Name = "Ezgi", CuePrefabName = "BlueCue" }; UIManager.AddPlayer(playerData); Game.AddPlayer(playerData); foreach (var player in Game.GetPlayers()) { player.BallHit += Player_BallHit; player.ShotStarted += Player_ShotStarted; } Game.AddFinishingRule(new TotalPointFinishingRule(Game.GetPlayers(), 5)); // aşağıdaki gibi başka bitirme kuralları da eklenebilir. // Game.AddFinishingRule(new PlayerFirstMaxPointFinishingRule(CurrentGame.GetPlayers(), 25)); Game.ShotCompleted += Game_ShotCompleted; Game.Completed += Game_Completed; Game.Started += Game_Started; Game.ChangePlayer += Game_ChangePlayer; Game.Play(); ClockTimer.StartTime(); UIManager.GamePlayingState(); }
public static Player Create(PlayerDataContext dataContext) { GameObject go = new GameObject(dataContext.UserName); Player player = go.AddComponent <Player>(); player.SetDataContext(dataContext); player.OffsetGO = new GameObject("offset"); player.OffsetGO.transform.parent = player.transform; player.OffsetGO.transform.localPosition = player.OFFSET; GameObject cue = Instantiate(PrefabUtil.Create <GameObject>(dataContext.CuePrefabName, "cue")); cue.transform.parent = player.transform; player.Cue = cue.transform.Find("Spin").Find("Cue").GetComponent <BaseCue>(); player.Cue.TriggerStay += player.Cue_TriggerStay; return(player); }