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);
        }
    }
Ejemplo n.º 2
0
 public PlayerService(SceneUiManager sceneUiManager, StatusService statusService, PlayerGameObject playerGameObject)
 {
     this.sceneUiManager   = sceneUiManager;
     this.statusService    = statusService;
     this.playerGameObject = playerGameObject;
     this.playerData       = GameData.getInstance().playerGameObject.playerData;
 }
Ejemplo n.º 3
0
    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();
        }
Ejemplo n.º 5
0
    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);
        }
Ejemplo n.º 7
0
    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;
        }
    }
Ejemplo n.º 8
0
        /// <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);
    }
Ejemplo n.º 10
0
        //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;
            }
        }
Ejemplo n.º 11
0
        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);
        }
Ejemplo n.º 12
0
        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());
            }
        }
Ejemplo n.º 13
0
        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);
    }
Ejemplo n.º 16
0
 public PlayerGameObjectGetter(PlayerGameObject playerGameObject)
 {
     this.playerGameObject = playerGameObject;
 }