public override bool Cast() { if (PlayerGameObject.GetComponent <PlayerController>().enabled) { MoveData = PlayerGameObject.GetComponent <PlayerController>(); } else { Debug.Log("Cant find any movementScripts"); } //Hero.position = Hero.position + MoveData.GetDirection() * TeleportRange; //Vector2 HeroPos = PlayerGameObject.GetComponent<Rigidbody2D>().position; if (MoveData.Direction != StadingStill) // Can couse a very minor bug where the player dosent TP rigth away { PlayerGameObject.GetComponent <Rigidbody2D>().position = PlayerGameObject.GetComponent <Rigidbody2D>().position + MoveData.Direction * TeleportRange; Debug.Log(MoveData.Direction); //HeroPos = HeroPos + test.Direction * TeleportRange; GameObject ChildeToHero = (GameObject)Instantiate(this.gameObject, AbilitySpawnPos.position, Quaternion.identity); ChildeToHero.transform.SetParent(AbilitySpawnPos.transform.parent); ChildeToHero.gameObject.transform.localScale = new Vector3(1, 1); // Need this so the smoke effect flys in the right direction //SmokeTrailEffect(); //IsSpellCasted = true; return(true); } else { // Debug.LogWarning("TELEPORT IS NOT USED YOU ARE STANDING STILL"); //IsSpellCasted = false; return(false); } }
public PlayerService(SceneUiManager sceneUiManager, StatusService statusService, PlayerGameObject playerGameObject) { this.sceneUiManager = sceneUiManager; this.statusService = statusService; this.playerGameObject = playerGameObject; this.playerData = GameData.getInstance().playerGameObject.playerData; }
public override void OnStartLocalPlayer() { if (TypeOfParameter.Instance.currentPlayType != TypeOfParameter.Parameter.network) { return; } playersController = FindObjectOfType <PlayersController>(); myPlayer = playersController.player1; if (myPlayer.player.controlled == false) { myPlayer.player.controlled = true; } else { myPlayer = playersController.player2; if (myPlayer.player.controlled == false) { myPlayer.player.controlled = true; } else { Debug.LogError("Hello Darkness my old friend"); } } }
public ChangeSceneOperationHandler(int userId, PlayerGameObject playerGameObject) { this.userId = userId; this.playerGameObject = playerGameObject; sceneContainer = ServerComponents.GetComponent <ISceneContainer>().AssertNotNull(); CharacterSpawnDetailsProvider = ServerComponents.GetComponent <ICharacterSpawnDetailsProvider>().AssertNotNull(); characterServiceApi = ServerComponents.GetComponent <ICharacterServiceAPI>().AssertNotNull(); }
public void SpawnPlayer(Player p) { GameObject player = Instantiate(playerType); PlayerGameObject playerGameObject = player.GetComponent <PlayerGameObject>(); playerGameObject.Initialize(p); player.transform.SetParent(playerArea.transform); createdPlayers.Add(p.Id, player); }
private void canvas_CreateResources(ICanvasAnimatedControl sender, CanvasCreateResourcesEventArgs args) { //Initialize image loader with canvas //TODO: The image manager may fail for multiple frames ImageManager.Initialize(sender); //Initialize game systems drawIndex = new DrawableIndex(); collisions = new CollisionManager(); gameObjects = new GameObjectIndex(drawIndex, collisions); inputManager = new InputManager(); players = new PlayerRegistry(); //Load the required images ImageManager.LoadImages(PacmanImagePaths.Images); //Register key event listeners Window.Current.CoreWindow.KeyDown += canvas_KeyDown; Window.Current.CoreWindow.KeyUp += canvas_KeyUp; //Create a player player = new PlayerGameObject(new Vector2(200, 300), gameObjects, players, inputManager, KeyboardFormat.WASD); gameObjects.registerGameObject(player); //Create a dummy game object DummyGameObject testingObject = new DummyGameObject(new Vector2(100, 100), new Vector2(45, 45), gameObjects); //Register the new object in the game object index gameObjects.registerGameObject(testingObject); //Register the new object as an input listener inputManager.registerInputSource(new PlayerKeyboardInputSource(testingObject, KeyboardFormat.ARROWS)); //Enable debug drawing drawIndex.SetDebugDrawing(true); //Add a wall WallGameObject wall = new WallGameObject(new Vector2(100, 100), new Vector2(150, 200)); gameObjects.registerGameObject(wall); WallGameObject wall2 = new WallGameObject(new Vector2(150, 200), new Vector2(350, 250)); gameObjects.registerGameObject(wall2); WallGameObject wall3 = new WallGameObject(new Vector2(300, 100), new Vector2(350, 200)); gameObjects.registerGameObject(wall3); //Add an enemy object EnemyGameObject enemy = new EnemyGameObject(new Vector2(300, 300), gameObjects, new Random()); enemy.Target = player; gameObjects.registerGameObject(enemy); }
void findPlayers() { gameplayers[0] = GameObject.FindWithTag("Player1"); gameplayers[1] = GameObject.FindWithTag("Player2"); players = new Player[gameplayers.Length]; PlayerGameObject[] playerGameObjects = new PlayerGameObject[gameplayers.Length]; for (int i = 0; i < players.Length; i++) { playerGameObjects[i] = gameplayers[i].GetComponent <PlayerGameObject>(); players[i] = playerGameObjects[i].player; } }
/// <summary> /// LoadContent will be called once per game and is the place to load /// all of your content. /// </summary> protected override void LoadContent() { // Create a new SpriteBatch, which can be used to draw textures. spriteBatch = new SpriteBatch(GraphicsDevice); var animations = spriteLoader.GetAnimationDictionary(Content); stageManager.AddStage(new Stage(objectInitialiser.LoadStage(animations, 1, gameWidth, gameHeight), new Background(Content.Load <Texture2D>("Environment/Desert"), new Rectangle(0, 0, 1279, 639)))); stageManager.AddPlayer(objectInitialiser.LoadPlayer(animations)); stageManager.GetPlayer().Position = new Vector2(69, 887); hero = (PlayerGameObject)stageManager.GetPlayer(); spriteFont = Content.Load <SpriteFont>("Misc/basicFont"); // TODO: use this.Content to load your game content here }
public void SpawnPlayer(NetworkPlayer player) { GameObject lPlayer; if (isLocal) { lPlayer = Instantiate(playerPrefab, new Vector3(0, 2.0f, 0), Quaternion.identity) as GameObject; } else { lPlayer = Network.Instantiate(playerPrefab, new Vector3(0, 8.0f, 0), Quaternion.identity, 0) as GameObject; } lPlayer.GetComponent <PlayerController>().player = player; PlayerGameObject lP = new PlayerGameObject(player, lPlayer); playerGameObjects.Add(lP); }
//Spawns an enemy public void SpawnEnemy() { //Generate a random position Vector2 randomPosition = new Vector2(randomNumbers.Next(30, 500), randomNumbers.Next(30, 500)); //Create a new enemy EnemyGameObject enemy = new EnemyGameObject(randomPosition, gameObjects, randomNumbers); gameObjects.registerGameObject(enemy); //If there are players if (!players.IsEmpty()) { //Get a random player PlayerGameObject randomPlayer = players.GetRandom() as PlayerGameObject; //Assign a random player as a target enemy.Target = randomPlayer; } }
public void AddEntity(long objectId, Guid userGuid, Guid?interactGuid, string name, GameObjectType objectType, GameObjectSubType objectSubType) { PlayerGameObject gameObject; if (_knownEntities.TryRemove(userGuid, out var oldEntity)) { gameObject = new PlayerGameObject(objectId) { Name = name, ObjectType = objectType, UserGuid = userGuid, InteractGuid = interactGuid, ObjectSubType = objectSubType, CharacterEquipment = oldEntity.CharacterEquipment, CombatStart = oldEntity.CombatStart, CombatTime = oldEntity.CombatTime, Damage = oldEntity.Damage } } ; else { gameObject = new PlayerGameObject(objectId) { Name = name, ObjectType = objectType, UserGuid = userGuid, ObjectSubType = objectSubType } }; if (_tempCharacterEquipmentData.TryGetValue(objectId, out var characterEquipmentData)) { ResetTempCharacterEquipment(); gameObject.CharacterEquipment = characterEquipmentData.CharacterEquipment; _tempCharacterEquipmentData.TryRemove(objectId, out _); } _knownEntities.TryAdd(gameObject.UserGuid, gameObject); OnAddEntity?.Invoke(gameObject); }
private PlayerGameObject CreatePlayerGameObject(Maps map) { var spawnDetails = characterSpawnDetailsProvider.GetCharacterSpawnDetails(map); var scene = sceneContainer.GetSceneWrapper(map).AssertNotNull($"Could not find a scene with map {map}").GetScene(); var character = new PlayerGameObject(spawnDetails); var sceneObject = scene.AddSceneObject(character); var presenceSceneProvider = sceneObject.Components.GetComponent <IPresenceSceneProvider>().AssertNotNull(); presenceSceneProvider.SetScene(scene); AddCommonComponents(); sceneObject.Awake(); return(character); void AddCommonComponents() { sceneObject.Components.AddComponent(new InterestArea(spawnDetails.Position, scene.RegionSize)); sceneObject.Components.AddComponent(new PlayerPositionController()); } }
private void canvas_CreateResources(ICanvasAnimatedControl sender, CanvasCreateResourcesEventArgs args) { //Initialize image loader with canvas //TODO: The image manager may fail for multiple pages ImageManager.Initialize(sender); //Initialize random number generator randomNumbers = new Random(); //Initialize game systems drawIndex = new DrawableIndex(); collisions = new CollisionManager(); gameObjects = new GameObjectIndex(drawIndex, collisions); inputManager = new InputManager(); players = new PlayerRegistry(randomNumbers); //Load the required images ImageManager.LoadImages(PacmanImagePaths.Images); //Register key event listeners Window.Current.CoreWindow.KeyDown += canvas_KeyDown; Window.Current.CoreWindow.KeyUp += canvas_KeyUp; //Add background image DrawableImage background = new DrawableImage(ImageManager.getImageByName("background1"), Vector2.Zero, false); drawIndex.AddDrawable(background); //Create players player = new PlayerGameObject(new Vector2(200, 300), gameObjects, players, inputManager, KeyboardFormat.WASD); gameObjects.registerGameObject(player); player2 = new PlayerGameObject(new Vector2(250, 300), gameObjects, players, inputManager, KeyboardFormat.ARROWS); gameObjects.registerGameObject(player2); //Create a dummy game object //DummyGameObject testingObject = new DummyGameObject(new Vector2(100, 100), new Vector2(45, 45), gameObjects); //Register the new object in the game object index //gameObjects.registerGameObject(testingObject); //Register the new object as an input listener //Disable debug drawing drawIndex.SetDebugDrawing(false); //Add walls WallGameObject wall = new WallGameObject(new Vector2(0, 0), new Vector2(40, 500)); gameObjects.registerGameObject(wall); WallGameObject wall2 = new WallGameObject(new Vector2(0, 0), new Vector2(850, 20)); gameObjects.registerGameObject(wall2); WallGameObject wall3 = new WallGameObject(new Vector2(830, 0), new Vector2(850, 500)); gameObjects.registerGameObject(wall3); WallGameObject wall4 = new WallGameObject(new Vector2(0, 480), new Vector2(850, 500)); gameObjects.registerGameObject(wall4); WallGameObject wall5 = new WallGameObject(new Vector2(185, 165), new Vector2(200, 330)); gameObjects.registerGameObject(wall5); WallGameObject wall6 = new WallGameObject(new Vector2(185, 165), new Vector2(685, 180)); gameObjects.registerGameObject(wall6); WallGameObject wall7 = new WallGameObject(new Vector2(670, 165), new Vector2(685, 500)); gameObjects.registerGameObject(wall7); WallGameObject wall8 = new WallGameObject(new Vector2(345, 320), new Vector2(525, 330)); gameObjects.registerGameObject(wall8); //Add an enemy object /*EnemyGameObject enemy = new EnemyGameObject(new Vector2(700, 120), gameObjects, new Random()); * enemy.Target = player; * gameObjects.registerGameObject(enemy); * * * EnemyGameObject enemy1 = new EnemyGameObject(new Vector2(400, 200), gameObjects, new Random()); * enemy1.Target = player; * gameObjects.registerGameObject(enemy1); * * EnemyGameObject enemy2 = new EnemyGameObject(new Vector2(250, 300), gameObjects, new Random()); * enemy2.Target = player; * gameObjects.registerGameObject(enemy2); * * EnemyGameObject enemy3 = new EnemyGameObject(new Vector2(100, 350), gameObjects, new Random()); * enemy3.Target = player; * gameObjects.registerGameObject(enemy3); * * EnemyGameObject enemy4 = new EnemyGameObject(new Vector2(750, 400), gameObjects, new Random()); * enemy4.Target = player; * gameObjects.registerGameObject(enemy4);*/ }
public GameScenePeerLogic(int userId, CharacterParameters character) { this.userId = userId; playerGameObject = CreatePlayerGameObject(character); }
void Start() { //Get references to GameObjects from scene takeObjectsFromScene(); //prefabs. no dependencies. GameObject upgradePrefab = Resources.Load(FilePathUtils.prefabPath + "upgradeObject") as GameObject; GameObject cardPrefab = Resources.Load(FilePathUtils.prefabPath + "cardObject") as GameObject; GameObject campContractPrefab = Resources.Load(FilePathUtils.prefabPath + "campContractObject") as GameObject; GameObject healthBarPrefab = Resources.Load(FilePathUtils.prefabPath + "healthBarObject") as GameObject; GameObject enemyPrefab = Resources.Load(FilePathUtils.prefabPath + "enemyObject") as GameObject; GameObject eventButtonPrefab = Resources.Load(FilePathUtils.prefabPath + "eventButtonObject") as GameObject; //Data classes. no dependencies GameData gameData = new GameData(); GameData.setInstance(gameData); //Ui manager, only dependencies are GameObjects CardUiManager cardUiManager = new CardUiManager( cardPrefab, playerHandObject, cardListGrid, cardListScene, cardSelectUi ); SceneUiManager sceneUiManager = new SceneUiManager( startScene, gameOverScene, victoryScene, cardListScene, fightSceneObject, campScene, eventScene ); UpgradeUiManager upgradeUiManager = new UpgradeUiManager( upgradeSelect, upgradePrefab, upgradeList ); CampContractUiManager campContractUiManager = new CampContractUiManager( campContractPrefab, campContracts ); //Types StatusTypes statusTypes = new StatusTypes(); EnemyTypes enemyTypes = new EnemyTypes(enemyPrefab); CardTypes cardTypes = new CardTypes(); cardTypes.initialize(statusTypes); //GameObjects PlayerGameObject playerGameObject = playerObject.GetComponent <PlayerGameObject>(); playerGameObject.initalize(playerObject); gameData.playerGameObject = playerGameObject; FightSceneGameObject fightSceneGameObject = fightSceneObject.GetComponent <FightSceneGameObject>(); fightSceneGameObject.initalize(fightSceneObject); //Services UpgradeService upgradeService = new UpgradeService(); EnemyTurnService enemyTurnService = new EnemyTurnService(); StatusService statusService = new StatusService(statusTypes); EnemyService enemyService = new EnemyService(enemyTurnService, statusService); CardGeneratorService cardGeneratorService = new CardGeneratorService(cardTypes); PlayerService playerService = new PlayerService(sceneUiManager, statusService, playerGameObject); DeckService deckService = new DeckService(cardUiManager, playerService); CampContractService campContractService = new CampContractService(campContractUiManager); EnemyManagerService enemyManagerService = new EnemyManagerService( enemyPrefab, enemyContainer, playerService, enemyService, enemyTurnService, statusService, deckService, enemyTypes, cardUiManager, cardGeneratorService, sceneUiManager, upgradeUiManager, upgradeService ); CardService cardService = new CardService(enemyManagerService, playerService, new AudioState(), deckService, enemyService); CampService campService = new CampService(campScene, campSelectionScene, campContractService, cardTypes); CardActionsService cardActionsService = new CardActionsService(deckService, playerService, cardService); EnemyManagerService.setInstance(enemyManagerService); UpgradeTypes upgradeTypes = new UpgradeTypes(playerService); EventManagerService eventManagerService = new EventManagerService( eventBoard, eventBoardButtons, eventButtonPrefab, campTitleText, campText ); FightManagerService fightManagerService = new FightManagerService( sceneUiManager, cardUiManager, playerService, upgradeUiManager, deckService, campService, upgradeService, enemyManagerService, eventManagerService ); eventManagerService.setFightService(fightManagerService); cardUiManager.initialize(cardActionsService); upgradeUiManager.initialize(upgradeService); deckService.initialize(enemyManagerService); //Initialize game data class gameData.deckService = deckService; gameData.playerService = playerService; gameData.upgradeService = upgradeService; gameData.enemyTypes = enemyTypes; //init scene buttons + add click events startNewRunButton.onClick.AddListener(() => fightManagerService.startNewRun(upgradeTypes, cardTypes)); runItBackButton.onClick.AddListener(() => fightManagerService.startNewRun(upgradeTypes, cardTypes)); nextFightButton.onClick.AddListener(fightManagerService.startFight); closeCardListButton.onClick.AddListener(cardUiManager.hideCardPile); closeCampListButton.onClick.AddListener(() => campService.hideCampFightList()); leaveCampButton.onClick.AddListener(() => fightManagerService.confirmCampEvents()); DeckData deckData = gameData.deckData; addEventTrigger(showDeckObject).callback.AddListener((data) => cardUiManager.showCardPile(deckData.deckCards)); addEventTrigger(showDiscardObject).callback.AddListener((data) => cardUiManager.showCardPile(deckData.discardCards)); addEventTrigger(showTrashObject).callback.AddListener((data) => cardUiManager.showCardPile(deckData.trash)); addEventTrigger(endTurnObject).callback.AddListener((data) => fightManagerService.endTurn()); addEventTrigger(extraDrawObject).callback.AddListener((data) => deckService.extraDraw()); addEventTrigger(wellGameObject).callback.AddListener((data) => campService.showCampFightList()); addEventTrigger(shopGameObject).callback.AddListener((data) => campService.showCampFightList()); //hide well/shop buttons wellGameObject.SetActive(false); shopGameObject.SetActive(false); }
public PlayerGameObjectGetter(PlayerGameObject playerGameObject) { this.playerGameObject = playerGameObject; }