Ejemplo n.º 1
0
    public SpecificSpot GetNextSpawn(Vector3 pos)
    {
        SpecificSpot playerSpawn = SpecificSpot.Start;

        if (pos != Vector3.zero)//valeur par default
        {
            var height = GameManager.instance.height;
            var width  = GameManager.instance.height;
            if (pos.y >= 3 * height / 4)
            {
                playerSpawn = SpecificSpot.South;
            }
            if (pos.y <= height / 4)
            {
                playerSpawn = SpecificSpot.North;
            }
            if (pos.x >= 3 * width / 4)
            {
                playerSpawn = SpecificSpot.West;
            }
            if (pos.x <= width / 4)
            {
                playerSpawn = SpecificSpot.East;
            }
        }
        return(playerSpawn);
    }
Ejemplo n.º 2
0
    private Vector3 getPositionPlayer(SpecificSpot playerSpawn)
    {
        Vector3 pos = new Vector3();

        if (playerSpawn == SpecificSpot.North)
        {
            pos = new Vector3((width - 1) / 2 + 1f, height, 0f);
        }
        else if (playerSpawn == SpecificSpot.South)
        {
            pos = new Vector3((width - 1) / 2 + 1f, 0f, 0f);
        }
        else if (playerSpawn == SpecificSpot.East)
        {
            pos = new Vector3(width - 0.5f, (height - 1) / 2 + 1f, 0f);
        }
        else if (playerSpawn == SpecificSpot.West)
        {
            pos = new Vector3(0.5f, (height - 1) / 2 + 1f, 0f);
        }
        else if (playerSpawn == SpecificSpot.Start)
        {
            pos = new Vector3(0.25f, 0.25f, 0f);
        }
        return(pos);
    }
Ejemplo n.º 3
0
    public void SetupRoom(RoomParam param, SpecificSpot playerSpawn)
    {
        roomObjects = new GameObject("RoomObjects").transform;
        roomUnits   = new GameObject("RoomUnits").transform;
        roomUnits.SetParent(roomObjects);

        ground    = GameObject.Find("Ground").GetComponent <Tilemap>();
        wall      = GameObject.Find("Wall").GetComponent <Tilemap>();
        outerWall = GameObject.Find("OuterWall").GetComponent <Tilemap>();

        width  = GameManager.instance.width;
        height = GameManager.instance.height;

        Vector3 playerSpawnPosition = getPositionPlayer(playerSpawn);

        BoardSetup(param.groundTilesParam, param.outerWallTilesParam);
        LayoutTiles(param.wallTilesParam, wall);
        LayoutUnits(param.unitsParam);
        GameObject instance = Instantiate(player, playerSpawnPosition, Quaternion.identity);

        instance.transform.SendMessage("SetParam", GameManager.instance.playerParam, SendMessageOptions.DontRequireReceiver);
        instance.transform.SetParent(roomUnits);
    }