Esempio n. 1
0
    public void LoadMapElement(Vector3 isoPos, GameObject go)
    {
        Vector3Int index = EffectiveUtility.IsoPositionToIndex(isoPos);

        if (go.GetComponent <Player>() != null)
        {
            return;
        }

        GameObject instance = Instantiate(go, isoPos, Quaternion.identity, transform);

        Character entity = instance.GetComponent <Character>();

        if (entity != null)
        {
            RoomAllEntitys.Add(entity);
            entity.OwnerRoom = this;
        }

        Door door = instance.GetComponent <Door>();

        if (door != null)
        {
            RoomDoors.Add(door);
            RoomWays.Add(door.DoorType);
            door.OwnerRoom = this;
        }
    }
Esempio n. 2
0
    public void AddTile(Vector3 isoPos, GameObject go, bool activateLogic = false)
    {
        Vector3Int index = EffectiveUtility.IsoPositionToIndex(isoPos);

        if (!ContainsTile(index))
        {
            if (_tileMap.Count == 0)
            {
                min = index;
                max = index;
            }
            else
            {
                min = EffectiveUtility.Min(min, index);
                max = EffectiveUtility.Min(max, index);
            }

            GameObject instance = Instantiate(go, isoPos, Quaternion.identity, _tileMapPivotObject.transform);
            if (instance.GetComponent <Character>())
            {
                instance.GetComponent <Character>().enabled = activateLogic;
            }
            _tileMap.Add(index, instance);
        }
    }
Esempio n. 3
0
    public void RemoveTile(Vector3 isoPos)
    {
        Vector3Int index = EffectiveUtility.IsoPositionToIndex(isoPos);

        if (ContainsTile(index))
        {
            GameObject instance = _tileMap[index];
            Destroy(instance);
            _tileMap.Remove(index);
        }
    }
Esempio n. 4
0
    public GameObject GetTile(Vector3 isoPos)
    {
        Vector3Int index = EffectiveUtility.IsoPositionToIndex(isoPos);

        if (ContainsTile(index))
        {
            return(_tileMap[index]);
        }
        else
        {
            return(null);
        }
    }
Esempio n. 5
0
    public void RemoveTile(Vector3 isoPos)
    {
        Vector3Int index = EffectiveUtility.IsoPositionToIndex(isoPos);

        if (ContainsTile(index))
        {
            List <GameObject> objectList = _tileMap[index];

            GameObject instance = objectList[objectList.Count - 1];
            Destroy(instance);
            objectList.Remove(objectList[objectList.Count - 1]);

            if (objectList.Count == 0)
            {
                _tileMap.Remove(index);
            }
        }
    }
Esempio n. 6
0
    public bool ContainsTile(Vector3 isoPos)
    {
        Vector3Int index = EffectiveUtility.IsoPositionToIndex(isoPos);

        return(ContainsTile(index));
    }