public Controller() { mainPlayer = new MainPlayer(); this.gunRepository = new GunRepository(); this.civilPlayers = new List <Player>(); this.gangNeighbourhood = new GangNeighbourhood(); }
public override void ResultServerExec(IResultControl control) { base.ResultServerExec(control); Actor actor = ActorManager.Singleton.Lookup(TargetID); if (null == actor) { return; } if (actor.Type == ActorType.enMain) { MainPlayer player = actor as MainPlayer; //通知头像 player.NotifyChanged((int)Actor.ENPropertyChanged.enMainHead, EnMainHeadType.enActorRelive); } if (actor.Type == ActorType.enMain || actor.Type == ActorType.enPlayer) { //主控角色或其他玩家 if (!actor.IsActorExit) { //战斗中 actor.ForceMoveToPosition(SM.RandomRoomLevel.Singleton.m_sceneCampReliveNode[actor.Camp]); } } if (actor.Type == ActorType.enMain && !actor.IsActorExit) { MainGame.Singleton.MainCamera.MoveAtOnce(actor); } //设置头顶血条 ActorAction action = actor.ActionControl.AddAction(ActorAction.ENType.enReliveAction); if (action == null) {//添加复活action失败,则删除所有的action,再添加复活action actor.ActionControl.RemoveAll(); actor.ActionControl.AddAction(ActorAction.ENType.enReliveAction); } }
public override void ResultServerExec(IResultControl control) { base.ResultServerExec(control); Actor target = ActorManager.Singleton.Lookup(TargetID); if (null == target) { return; } target.Props.SetProperty_Int32(ENProperty.Exp, m_curtExp); target.Props.SetProperty_Int32(ENProperty.LevelUpPoint, m_levelUpPoint); if (m_isLevelUp) { target.Props.SetProperty_Int32(ENProperty.level, m_level); } MainPlayer mainPlayer = ActorManager.Singleton.MainActor; if (mainPlayer.ID == TargetID) { mainPlayer.UpDataSkillLevelUp(); if (m_isLevelUp) { //播放升级特效 mainPlayer.UpdataMainHeadLevel(); } } //是否需要显示获得经验数字 }
public string Fight() { MainPlayer mainPlayer = (MainPlayer)this.players .FirstOrDefault(p => p.GetType().Name == nameof(MainPlayer)); List <IPlayer> civilPlayers = this.players .Where(p => p.GetType().Name != nameof(MainPlayer)) .ToList(); this.neighbourhood.Action(mainPlayer, civilPlayers); StringBuilder sb = new StringBuilder(); if (civilPlayers.Any(p => p.IsAlive) && mainPlayer?.LifePoints == 100) { sb.AppendLine("Everything is okay!"); } else { sb.AppendLine("A fight happened:"); sb.AppendLine($"Tommy live points: {mainPlayer?.LifePoints}!"); sb.AppendLine($"Tommy has killed: {civilPlayers.Count(p => p.IsAlive == false)} players!"); sb.AppendLine($"Left Civil Players: {civilPlayers.Count(p => p.IsAlive)}!"); } return(sb.ToString().TrimEnd()); }
public void Update(GameTime gameTime) { MapRenderer.Update(MapCurrent, gameTime); if (IsTransitionActive == false && IsAreaTransitionActive == false) { MainPlayer.Update(gameTime); if (IsAreaTransitionActive == true) { return; } MapCamera.Position = MainPlayer.Position - new Vector2(MapCamera.BoundingRectangle.Width / 2, MapCamera.BoundingRectangle.Height / 2); UpdateCameraPosition(ActiveArea); for (int i = 0; i <= Entities.Count() - 1; i++) { Entities.ElementAt(i).Update(gameTime); } } else if (IsAreaTransitionActive == true) { float deltaTime = (float)gameTime.ElapsedGameTime.TotalSeconds; AreaTransitionTimer += deltaTime; if (AreaTransitionTimer > 0.15f) { // Move Camera and Player into New Area if (MainPlayer.TransitionMoveState == PlayerActor.AreaTransitionMoveState.Complete) { IsAreaTransitionActive = false; AreaTransitionTimer = 0f; MainPlayer.ResetAreaTransitionState(); } else { MainPlayer.MoveToNewArea(AreaTransitionCollisionRectangle, ActiveArea, gameTime); AreaTransitionCameraUpdate(MainPlayer.TransitionMoveState, gameTime); } } } else { if (MapTransition.State == MapTransitionHandler.TransitionState.MapChange) { UnloadMap(); } else if (MapTransition.State == MapTransitionHandler.TransitionState.Complete) { IsTransitionActive = false; MapTransition = null; } else { MapTransition.Update(gameTime); } } }
/// <summary> /// Handles game termination gracefully. /// </summary> public void EndGame(GameEndedEventArgs e) { // Give Game over Message etc. Here switch (e.Reason) { case GameEndedEventArgs.Circumstance.WON: HTW.Instance.CurrentGameState.manager.placeRandomEnemies(); break; case GameEndedEventArgs.Circumstance.LOST: PlayerProfile.Points /= 3; _Livingdrawers.Clear(); MainPlayer.Cleanup(); IsReady = false; HuntTheWumpus.GameAndStuff.HTW.Instance.start = false; return; break; case GameEndedEventArgs.Circumstance.QUIT: HTW.Instance.Exit(); break; } }
private void FinishSync(Message m) { Debug.Log("Finishing sync"); foreach (var a in ConnectionUI) { a.SetActive(false); } GameObject p = Instantiate(mainPlayerPrefab, Vector3.zero, Quaternion.identity); mainPlayer = p.GetComponent <MainPlayer>(); if (mainPlayer != null) { mainPlayer.SendMovementInfo(); mainPlayer.id = player.Id; mainPlayer.nickName = player.Name; mainPlayer.alive = false; } else { Debug.Log("Player was null"); } p.SetActive(false); playersList.Add(player.Id, p); player.GameState = GameState.GameStarted; gameManager.RegisterMainPlayer(p); gameManager.SpawnSpectator(); }
public void CalculateAvailableForQueen_ThreeBlackCheckers_Should_Have_5_Paths() { // Arrange var mainPlayCheckers = new List <CheckerModel> { new CheckerModel(4, 6, PieceType.Queen, Side.White) }; var secondPlayerCheckers = new List <CheckerModel>() { new CheckerModel(2, 4, PieceType.Checker, Side.Black), new CheckerModel(1, 1, PieceType.Checker, Side.Black), new CheckerModel(6, 4, PieceType.Checker, Side.Black), }; DataProvider dataProvider = new DataProvider(mainPlayCheckers, secondPlayerCheckers); var mainPlayer = new MainPlayer(dataProvider, Side.White); var robotPlayer = new RobotPlayer(dataProvider, Side.Black); var emptyPlayer = new EmptyUserPlayer(dataProvider); var game = new RussianCheckers.Core.Game(mainPlayer, robotPlayer, emptyPlayer, dataProvider); // Act game.ReCalculateNeighborsAndPaths(); // Assert var availablePaths = mainPlayer.CalculateAvailablePaths(); Assert.AreEqual(5, availablePaths.Count()); }
public void CalculateAvailablePaths_Returns_Paths_MaxIs_9() { // Arrange var mainPlayCheckers = new List <CheckerModel>() { new CheckerModel(4, 2, PieceType.Checker, Side.White), }; var secondPlayerCheckers = new List <CheckerModel>() { new CheckerModel(3, 3, PieceType.Checker, Side.Black), new CheckerModel(5, 3, PieceType.Checker, Side.Black), new CheckerModel(3, 5, PieceType.Checker, Side.Black), new CheckerModel(5, 5, PieceType.Checker, Side.Black), new CheckerModel(1, 5, PieceType.Checker, Side.Black), }; DataProvider dataProvider = new DataProvider(mainPlayCheckers, secondPlayerCheckers); var mainPlayer = new MainPlayer(dataProvider, Side.White); var robotPlayer = new RobotPlayer(dataProvider, Side.Black); var emptyPlayer = new EmptyUserPlayer(dataProvider); // Act var game = new RussianCheckers.Core.Game(mainPlayer, robotPlayer, emptyPlayer, dataProvider); game.ReCalculateNeighborsAndPaths(); var availablePathsForWhite = mainPlayer.CalculateAvailablePaths(); // Assert Assert.AreEqual(9, availablePathsForWhite.Max(x => x.Count)); }
void OnEnable() { Slot = int.Parse(gameObject.name); MPC = transform.parent.parent.GetComponent <Tab_0>().MPC; EI = transform.parent.parent.Find("EquipmentInfo").GetComponent <EquipmentInfo>(); UpdateSlot(); }
public void Update() { MainPlayer.Update(); foreach (Chunk chunk in Chunks.Values) { chunk.Update(); } // Calculate collisions //if (MainPlayer.Chunk == null) // return; // //foreach(Block block in MainPlayer.Chunk.Blocks.Values) //{ // AxisAlignedBB blockAabb = block.BoundingBox; // AxisAlignedBB playerAabb = MainPlayer.BoundingBox; // // if (playerAabb.IntersectsAABB(blockAabb)) // { // Vector3 intersectAmount = new Vector3() // { // X = playerAabb.IntersectionAmountX(blockAabb, false), // ye // Y = playerAabb.IntersectionAmountY(blockAabb, false), // ye // Z = playerAabb.IntersectionAmountZ(blockAabb, false), // ye // }; // // Vector3 difference = MainPlayer.Position - MainPlayer.PreviousPosition; // // MainPlayer.MoveTowards(-difference); // } //} }
void Update() { if (!raycastOn) { return; } laserLine.SetPosition(0, startPoint.position); RaycastHit hit; Vector3 fwd = startPoint.TransformDirection(Vector3.forward); if (Physics.Raycast(startPoint.position, fwd, out hit)) { if (hit.transform.tag == "Player") { MainPlayer mainPlayer = hit.transform.GetComponent <MainPlayer>(); if (!mainPlayer.IsDead()) { mainPlayer.GetHit(); } } laserLine.SetPosition(1, hit.point); } else { laserLine.SetPosition(1, fwd * Mathf.Infinity); } particleSystem.startLifetime = hit.distance / particleSystem.startSpeed; }
void Awake() { player = GetComponent <MainPlayer> (); input = GetComponent <TeamAssignment> (); key = GetComponent <KeyframeScript> (); stats = GetComponent <PlayerStats> (); play = GetComponent <Playback> (); gameManager = GameObject.Find("[GameManager]").GetComponent <GameManager> (); // recUI.enabled = false; // playUI.enabled = false; // Set up Line Renderer lr = player.gameObject.GetComponentInChildren <LineRenderer> (); lr.enabled = false; lr.widthMultiplier = 0.2f; lr.material = mat; lr.receiveShadows = true; lr.alignment = LineAlignment.View; lr.textureMode = LineTextureMode.Tile; }
private void Awake() { playerInput = new MainPlayer(); cinemachine = GetComponent <CinemachineFreeLook>(); CameraSetting(); }
public Controller() { this.PlayersList = new List <IPlayer>(); this.gunRepository = new GunRepository(); this.mainPlayer = new MainPlayer(); this.gangNeighbourhood = new GangNeighbourhood(); }
public void CalculateAvailableForQueen_SameBehaviorAsChecker_ShouldBe_23() { // Arrange var mainPlayCheckers = new List <CheckerModel>() { new CheckerModel(4, 2, PieceType.Queen, Side.White), }; var secondPlayerCheckers = new List <CheckerModel>() { new CheckerModel(3, 3, PieceType.Checker, Side.Black), new CheckerModel(5, 3, PieceType.Checker, Side.Black), new CheckerModel(3, 5, PieceType.Checker, Side.Black), new CheckerModel(5, 5, PieceType.Checker, Side.Black), new CheckerModel(1, 5, PieceType.Checker, Side.Black), new CheckerModel(5, 1, PieceType.Checker, Side.Black), }; DataProvider dataProvider = new DataProvider(mainPlayCheckers, secondPlayerCheckers); var mainPlayer = new MainPlayer(dataProvider, Side.White); var robotPlayer = new RobotPlayer(dataProvider, Side.Black); var emptyPlayer = new EmptyUserPlayer(dataProvider); var game = new RussianCheckers.Core.Game(mainPlayer, robotPlayer, emptyPlayer, dataProvider); // Act game.ReCalculateNeighborsAndPaths(); // Assert var availablePaths = mainPlayer.CalculateAvailablePaths(); Assert.AreEqual(23, availablePaths.Count()); }
public void UpdatMainHeadLevel() { MainPlayer MainPlayer = ActorManager.Singleton.MainActor; int level = MainPlayer.Props.GetProperty_Int32(ENProperty.level); m_levelLabel.text = "LV" + level; }
public void Checker_ConvertsTakeCheckerAndActsAsQueen_ShouldTakeSecondChecker() { // Arrange var mainPlayCheckers = new List <CheckerModel>() { new CheckerModel(5, 5, PieceType.Checker, Side.White), }; var secondPlayerCheckers = new List <CheckerModel>() { new CheckerModel(4, 6, PieceType.Checker, Side.Black), new CheckerModel(1, 5, PieceType.Checker, Side.Black), }; DataProvider dataProvider = new DataProvider(mainPlayCheckers, secondPlayerCheckers); var mainPlayer = new MainPlayer(dataProvider, Side.White); var robotPlayer = new RobotPlayer(dataProvider, Side.Black); var emptyPlayer = new EmptyUserPlayer(dataProvider); var game = new RussianCheckers.Core.Game(mainPlayer, robotPlayer, emptyPlayer, dataProvider); // Act game.ReCalculateNeighborsAndPaths(); // Assert var availablePaths = mainPlayer.CalculateAvailablePaths(); Assert.IsTrue(availablePaths.Any(x => x.Last.Value.Column == 0 && x.Last.Value.Row == 4)); }
public void Initialize() { // Camera.Instance.Type = CameraType.CENTERED; Camera.Instance.Type = CameraType.CENTERED; // <-- Uncomment this to change to a different style // Initialize GameManger manager = new SinglePlayerGameManager(); manager.EntityAdded += new EntityChangeHandler(EntityAdded); manager.EntityRemoved += new EntityChangeHandler(EntityRemoved); manager.GameEnded += new GameEndedEventHandler(EndGame); // Register Player var playerEntity = manager.registerPlayer(PlayerProfile); MainPlayer.SetupEntity(playerEntity); playerEntity.PlayerGainedPointsEvent += new PlayerEntity.PlayerGainedPointsEventHandler(PlayerGainedPoints); // Listen for termination signals. _controls.KeyPressed += new KeyPressEventHandler(controls_KeyPressed); _cursor.SetupCursor (HTW.Instance.ScreenWidth / 2, HTW.Instance.ScreenHeight / 2); IsReady = true; //Start Game -- Crude NewGame(); }
public GameApi() { this.shop = new Shop(this); this.camera = new Camera(this); this.chat = new Chat(this); this.player = new MainPlayer(this); }
public void GetWinnerSide_QueensMoved15TimesWithTaking_NoDraw() { // Arrange var playerCheckersFirstPlayer = new List <CheckerModel> { new CheckerModel(0, 0, PieceType.Queen, Side.White) }; var playerCheckersSecondPlayer = new List <CheckerModel> { new CheckerModel(7, 1, PieceType.Queen, Side.Black) }; DataProvider dataProvider = new DataProvider(playerCheckersFirstPlayer, playerCheckersSecondPlayer); var mainPlayer = new MainPlayer(dataProvider, Side.White); var robotPlayer = new RobotPlayer(dataProvider, Side.Black); var actionsHistory = new Stack <HistoryMove>(GetHistoryActionsWithTaking(playerCheckersFirstPlayer.Single(), playerCheckersSecondPlayer.Single())); // Act mainPlayer.CalculateNeighbors(); robotPlayer.CalculateNeighbors(); mainPlayer.CalculateAvailablePaths(); robotPlayer.CalculateAvailablePaths(); var gameStatusChecker = new GameStatusChecker(mainPlayer, robotPlayer, actionsHistory); Side winnerSide = gameStatusChecker.GetWinnerSide(); // Assert Assert.AreEqual(Side.None, winnerSide); }
public Controller() { this.civilPlayers = new List <IPlayer>(); this.guns = new GunRepository(); this.mainPlayer = new MainPlayer(); this.neighbourhood = new Neighbourhood(); }
public string Fight() { MainPlayer mainPlayer = new MainPlayer(); GangNeighbourhood gangNeighbourhood = new GangNeighbourhood(); gangNeighbourhood.Action(mainPlayer, civilPlayers); StringBuilder sb = new StringBuilder(); if (civilPlayers.Any(p => p.IsAlive == true) && mainPlayer.LifePoints == 100) { sb.AppendLine("Everything is okay!"); } else { sb.AppendLine("A fight happened:"); sb.AppendLine($"Tommy live points: {mainPlayer.LifePoints}!"); sb.AppendLine($"Tommy has killed: {civilPlayers.Where(p => p.IsAlive == false).Count()} players!"); sb.AppendLine($"Left Civil Players: {civilPlayers.Where(p => p.IsAlive == true).Count()}!"); } return(sb.ToString().TrimEnd()); }
public IEnumerator Channelling(GameObject pPlayer) { PlayChargeSFX(); // Set current time to zero currentTime = 0; // Get MainPlayer script from the other player MainPlayer pPlayerMainPlayer = pPlayer.GetComponent <MainPlayer>(); // Must hold teleportkey for channelTime to activate teleport while (currentTime < channelTime) { // Cancel channelling if player is not in sight, player is not channelling, other player is busy or any other button is pressed if (!IsPlayerInSight() || !MainPlayer.IsChannelling() || pPlayerMainPlayer.IsBusy() || CheckAnyButton()) { StopChargeSFX(); // print(!IsPlayerInSight() +","+ !MainPlayer.IsChannelling() + "," + pPlayerMainPlayer.IsBusy() + "," + CheckAnyButton()); StopChannelling(); yield break; } currentTime += Time.deltaTime; yield return(new WaitForEndOfFrame()); } // Set teleport values for the other players //pPlayerMainPlayer.teleportTarget = gameObject.transform.position + // (pPlayer.transform.position - gameObject.transform.position).normalized * outerRadius; //pPlayerMainPlayer.CurrentState = MainPlayer.State.Teleported; StopChannelling(); MainPlayer.teleportTarget = pPlayer.transform.position + (-pPlayer.transform.position + gameObject.transform.position).normalized * outerRadius; MainPlayer.CurrentState = MainPlayer.State.Teleported; UpdateChannelTimeRatio(); }
public void Draw(SpriteBatch spriteBatch) { if (MapTransition != null && MapTransition.State == MapTransitionHandler.TransitionState.MapChange) { MapTransition.Draw(spriteBatch); } else { MapRenderer.Draw(MapCurrent, MapCamera.GetViewMatrix()); if (MainPlayer.IsActive == true) { MainPlayer.Draw(spriteBatch); } foreach (MapEntity entity in Entities) { entity.Draw(spriteBatch); } if (IsTransitionActive == true) { MapTransition.Draw(spriteBatch); } } }
public IEnumerator StartTeleport() { PlayTeleportInSFX(); // Change alpha value to 0 StartCoroutine(MainPlayer.AlphaFade()); // Start teleport effect on new location fxTeleport = Instantiate(teleportEffect, MainPlayer.teleportTarget, transform.rotation); // Dissepear on current location SkinnedMeshRenderer[] body = GetComponentsInChildren <SkinnedMeshRenderer>(); foreach (SkinnedMeshRenderer i in body) { i.enabled = false; } // Delay in teleport yield return(new WaitForSeconds(teleportDelay)); // Appear in new location foreach (SkinnedMeshRenderer i in body) { i.enabled = true; } // Set new position gameObject.transform.position = MainPlayer.teleportTarget; // Change alpha value to 1 StartCoroutine(MainPlayer.AlphaFade(1)); MainPlayer.CurrentState = MainPlayer.State.Idle; doTeleport = false; PlayTeleportOutSFX(); }
public Controller() { this.players = new List <IPlayer>(); this.guns = new List <IGun>(); this.mainPlayer = new MainPlayer(); this.neighbourhood = new GangNeighbourhood(); }
public string Fight() { MainPlayer mainPlayer = (MainPlayer)this.players .FirstOrDefault(p => p.GetType().Name == nameof(MainPlayer)); List <IPlayer> civilPlayers = this.players .Where(p => p.GetType().Name != nameof(MainPlayer)) .ToList(); this.gangNeighbourhood.Action(mainPlayer, civilPlayers); StringBuilder sb = new StringBuilder(); if (civilPlayers.Any(p => p.IsAlive == true) && mainPlayer.LifePoints == InitialMainPlayerHealthPoints) { sb.AppendLine(OutputMessages.EverythingIsOkay); } else { sb.AppendLine(OutputMessages.FightHappened); sb.AppendLine(string.Format(OutputMessages.TommyLifePoints, mainPlayer.LifePoints)); sb.AppendLine(string.Format(OutputMessages.KilledPlayers, civilPlayers.Where(p => p.IsAlive == false).Count())); sb.AppendLine(string.Format(OutputMessages.LeftPlayers, civilPlayers.Where(p => p.IsAlive == true).Count())); } return(sb.ToString().TrimEnd()); }
public void EncounterMain(ref MainPlayer player) { string message = ""; ConsoleKeyInfo i; do { Console.Clear(); Console.WriteLine(""); Console.WriteLine("Player"); Console.WriteLine("==================="); Console.WriteLine("Health: " + player.GetHealth()); Console.WriteLine("Potions: " + player.GetPotions()); Console.WriteLine(""); Console.WriteLine(""); Console.WriteLine("Layton Blevins"); Console.WriteLine("==================="); Console.WriteLine("Health: " + enemy.GetHealth()); Console.WriteLine(""); Console.WriteLine(""); if (message != "") { Console.WriteLine(""); Console.WriteLine(message); Console.WriteLine(""); } Console.WriteLine(""); Console.WriteLine("Make your selection:"); Console.WriteLine("=========================="); Console.WriteLine("1 - Attack"); Console.WriteLine("2 - Use Potion"); Console.WriteLine(""); i = Console.ReadKey(false); switch (i.KeyChar) { case '1': enemy.TakeDamage(player.GetAttackDamage()); break; case '2': player.UsePotion(); break; } // EnemyEncounter Action if (enemy.GetHealth() > 0) { player.TakeDamage(enemy.GetAttackDamage()); message = "Layton attacks you for 10 damage."; } }while (player.GetHealth() > 0 && enemy.GetHealth() > 0); if (enemy.GetHealth() <= 0 && player.GetHealth() > 0) { isEncounterSuccessful = true; } }
private void OnTriggerExit(Collider other) { MainPlayer player = other.GetComponent <MainPlayer>(); Minion minion = other.GetComponent <Minion>(); bool someoneLeft = false; if (player && player.team != MyMinion.team) { players.Remove(player); someoneLeft = true; } else if (minion && minion.team != MyMinion.team) { minions.Remove(minion); someoneLeft = true; } if (someoneLeft && MyMinion.state == MinionState.approaching) { if (players.Count > 0) { // get next player // else get next minion } } }
void Awake() { _instance = this; _rig = GetComponent<Rigidbody2D>(); _anim = GetComponent<SkeletonAnimation>(); playerControllers.Add(GetComponent<Player_01>()); playerControllers.Add(GetComponent<Player_02>()); playerControllers.Add(GetComponent<Player_03>()); playerControllers.Add(GetComponent<Player_04>()); playerControllers.Add(GetComponent<Player_05>()); foreach (var controller in playerControllers) { controller.OnFinishLevelEvent += OnLevelFinishEvent; } }