private void OnEnable()
 {
     inputSystem      = new InputSystem(Camera.main);
     playerController = new PlayerController();
     characterSpawner = new HeroSpawner();
     enemySpawner     = new EnemySpawner();
 }
    public void Update()
    {
        Vector3 mousePosition  = InputSystem.GetMousePositionInWorld(1 << 8);
        Tile    tileUnderMouse = Tile.GetTileAt(mousePosition);

        if (tileUnderMouse != null)
        {
            spawnedCharacter.Position = Vector3.Lerp(spawnedCharacter.Position, tileUnderMouse.Position, 0.1f);
        }
        else
        {
            Vector3 correctedMousePosition = new Vector3(mousePosition.x - 0.5f, mousePosition.y, mousePosition.z - 0.5f);
            spawnedCharacter.Position = Vector3.Lerp(spawnedCharacter.Position, correctedMousePosition, 0.04f);
        }

        if (Input.GetMouseButtonDown(0) == true)
        {
            if (spawnedCharacter.IsPlacementValid(mousePosition) == true)
            {
                HeroSpawner.PlaceHeroOnTile(tileUnderMouse);
                spawnedCharacter = null;
                PlayerController.ChangeToState <MouseIdleState>();
            }
        }
        else if (Input.GetMouseButtonDown(1) == true)
        {
            HeroSpawner.DeleteInstantiatedHero();
            PlayerController.ChangeToState <MouseIdleState>();
        }
    }
    // Use this for initialization
    void Start()
    {
        heroSpawner = GameObject.Find("HeroController").GetComponent <HeroSpawner>();

        ResNodeGameobject = (Resources.Load("RES\\ResNodePrefab")) as GameObject;

        ItemLib.ItemsBeDone += ItemListDoneres;

        // Range for resources to spawn from inn
        zoneMaxDistancez    = new float[5];
        zoneMaxDistancez[0] = 25.0f;
        zoneMaxDistancez[1] = 130.0f;
        zoneMaxDistancez[2] = 300.0f;
        zoneMaxDistancez[3] = 450.0f;
        zoneMaxDistancez[4] = 600.0f;
        // lenngh wise
        // [0] doesnt matter since were doing 4 zones where 0 is the min distance which only matters for the z above. 0-1 zone 1 distance 1-2 zone 2 so on
        zoneMaxDistancex    = new float[5];
        zoneMaxDistancex[0] = 130.0f;
        zoneMaxDistancex[1] = 130.0f;
        zoneMaxDistancex[2] = 130.0f;
        zoneMaxDistancex[3] = 130.0f;
        zoneMaxDistancex[4] = 130.0f;

        ZoneResZoneMax [0] = 10;
        ZoneResZoneMax[1]  = 0;
        ZoneResZoneMax[2]  = 0;
        ZoneResZoneMax [3] = 0;
    }
 public HeroSpawner()
 {
     if (instance == null)
     {
         instance = this;
         EventSystem <CreateHeroEvent> .RegisterListener(OnCreateHero);
     }
 }
        public void WhenCreateAHero_ThenSaveTheHeroInTheMap()
        {
            var       map = MapFactory.AMap.Build();
            var       subjectUnderTest = new HeroSpawner();
            const int positionX        = 5;
            const int positionY        = 5;

            subjectUnderTest.CreateHero(map, positionX, positionY);

            Assert.IsTrue(map.ContainsAHero(positionX, positionY));
        }
        public void WhenCreateAHeroInTheMap_ThenTheHeroPositionIsCorrect()
        {
            var       map = MapFactory.AMap.Build();
            var       subjectUnderTest = new HeroSpawner();
            const int positionX        = 5;
            const int positionY        = 5;

            var hero = subjectUnderTest.CreateHero(map, positionX, positionY);

            Assert.AreEqual(positionX, hero.PositionX);
            Assert.AreEqual(positionY, hero.PositionY);
        }
 void Start()
 {
     BountError    = BountyError.NoError;
     bountySize    = GameObject.Find("BountySpotlight");
     heroSpawn     = GameObject.Find("HeroController").GetComponent <HeroSpawner>();
     mymainmoney   = GameObject.Find("GUIIncometab").GetComponent <MainMoney> ();
     spawnPointpos = gameObject.transform.position;
     spawnPointRot = gameObject.transform.rotation;
     buildingloc   = GameObject.Find("BuildingManager").GetComponent <BuildingLocation> ();
     maxxz         = heroSpawn.HowFarCanIGo(1);
     MaxX          = maxxz [0];
     MaxZ          = maxxz [1];
 }
        public void WhenMove_ThenReturnTheHeroPosition(
            Directions direction, int initialPositionX, int initialPositionY)
        {
            var hero = new HeroSpawner()
                       .CreateHero(_map, initialPositionX, initialPositionY);
            var subjectUnderTest = new HeroMovement(hero, _map);

            var result = subjectUnderTest.Move(direction);

            // Assert
            Assert.AreEqual(hero.PositionX, result.PositionX);
            Assert.AreEqual(hero.PositionY, result.PositionY);
        }
        public void WhenMove_ThenUpdateTheHeroPosition(
            Directions direction, int initialPositionX, int initialPositionY,
            int expectedPositionX, int expectedPositionY)
        {
            var hero             = new HeroSpawner().CreateHero(_map, initialPositionX, initialPositionY);
            var subjectUnderTest = new HeroMovement(hero, _map);

            subjectUnderTest.Move(direction);

            // Assert
            Assert.AreEqual(expectedPositionX, hero.PositionX);
            Assert.AreEqual(expectedPositionY, hero.PositionY);
        }
        public void WhenMove_ThenUpdateTheHeroPositionInTheMap(
            Directions direction, int initialPositionX, int initialPositionY,
            int expectedPositionX, int expectedPositionY)
        {
            var hero             = new HeroSpawner().CreateHero(_map, initialPositionX, initialPositionY);
            var subjectUnderTest = new HeroMovement(hero, _map);

            subjectUnderTest.Move(direction);

            // Assert
            Assert.IsTrue(_map.ContainsAHero(expectedPositionX, expectedPositionY),
                          "The hero is not in the expected position");
        }
Exemple #11
0
        public void Setup(LevelGrid level, HeroSpawner heroSpawner, EnemySpawner enemySpawner)
        {
            _levelGrid    = level;
            _heroSpawner  = heroSpawner;
            _enemySpawner = enemySpawner;

            var defaultHero   = new GameObject("DefaultHero", typeof(SpriteRenderer));
            var currentEntity = defaultHero.AddComponent <HeroEntity>();

            currentEntity.Setup(heroSpawner.GetRandomHeroSprite());
            _heroInCaravans.Add(currentEntity);
            _leadingEntity            = currentEntity;
            _leadingEntity.EntityData = currentEntity.EntityData;
        }
        public void SetUp()
        {
            input = Substitute.For <Input>();

            var heroPrefab   = AssetDatabase.LoadAssetAtPath <GameObject>("Assets/Prefabs/Hero.prefab");
            var heroInstance = Object.Instantiate(heroPrefab);

            heroView = heroInstance.GetComponent <HeroView>();

            var map                = MapFactory.AMap.Build();
            var hero               = new HeroSpawner().CreateHero(map, 0, 0);
            var heroMovement       = new HeroMovement(hero, map);
            var movementController = new MovementController(heroView, heroMovement);

            heroView.Configure(input, movementController);
        }
Exemple #13
0
    void Start()
    {
        this.GetComponent <FogOfWar> ().Unfog(new Vector3(0, 0, 0), 1000, 0);

        this.GetComponent <FogOfWar>().Unfog(new Rect(new Vector2(0.0f, 5.0f), new Vector2(100f, 100f)));
        heroSpawner = GameObject.Find("HeroController");
        heroSpawn   = heroSpawner.GetComponent <HeroSpawner>();
        Speed       = 0.9f;

        maxxz = heroSpawn.HowFarCanIGo(1);
//		MaxX = maxxz [0];
        //	MaxZ = maxxz [1];
        MaxX     = 200.0f;
        MaxZ     = 600.0f;
        myroiate = transform.rotation;
    }
Exemple #14
0
    private GridPosition GetFreeSpawnPoint()
    {
        GridPosition selectedGridPosition;

        HeroSpawner[] heroSpawners = GameObject.FindObjectsOfType <HeroSpawner>();

        HeroSpawner chosenHeroSpawner = null;

        System.Random random = new System.Random((int)Time.timeSinceLevelLoad);

        while (chosenHeroSpawner == null)
        {
            var heroSpawner = heroSpawners[random.Next(0, heroSpawners.Length)];
            if (!heroSpawner.IsOccupied)
            {
                chosenHeroSpawner = heroSpawner;
            }
        }

        selectedGridPosition = _GridSystem.GetGridPosition(chosenHeroSpawner.transform.position);

        return(selectedGridPosition);
    }
Exemple #15
0
 private void InstallBindings(HeroSpawner heroSpawner)
 {
     _heroSpawner = heroSpawner;
 }