Skip to content
Snippets Groups Projects
Commit d51a6fea authored by Julius Fredrik Einum's avatar Julius Fredrik Einum
Browse files

Merge branch 'ruud' into 'main'

Ruud

See merge request !42
parents 301ab409 3cab2681
No related branches found
No related tags found
2 merge requests!52Updating master,!42Ruud
Showing
with 337 additions and 47 deletions
using System.Collections;
using System.Collections.Generic;
using Cinemachine;
using UnityEngine;
using UnityEngine.Tilemaps;
using static System.Net.WebRequestMethods;
namespace BigSock
namespace Bigsock
{
public class FollowPlayer : MonoBehaviour
{
public GameObject player;
public GameObject leftSide;
public GameObject rightSide;
public GameObject topSide;
public GameObject bottomSide;
[SerializeField]
private NeighbourMapGenerator neighborMapGenerator;
[SerializeField]
private CinemachineConfiner2D cameraMap;
Vector3 offset = new Vector3(0, 0, -10);
void Start()
{
neighborMapGenerator.RunProceduralGeneration();
}
void LateUpdate()
{
if(player.transform.position.x <= leftSide.transform.position.x && player.transform.position.y >= topSide.transform.position.y)
{
transform.position = new Vector3(leftSide.transform.position.x, topSide.transform.position.y, offset.z);
}
else if (player.transform.position.x >= rightSide.transform.position.x && player.transform.position.y >= topSide.transform.position.y)
{
transform.position = new Vector3(rightSide.transform.position.x, topSide.transform.position.y, offset.z);
}
else if(player.transform.position.x <= leftSide.transform.position.x && player.transform.position.y <= bottomSide.transform.position.y)
{
transform.position = new Vector3(leftSide.transform.position.x, bottomSide.transform.position.y, offset.z);
}
else if (player.transform.position.x >= rightSide.transform.position.x && player.transform.position.y <= bottomSide.transform.position.y)
{
transform.position = new Vector3(rightSide.transform.position.x, bottomSide.transform.position.y, offset.z);
}
else if (player.transform.position.x <= leftSide.transform.position.x )
{
transform.position = new Vector3(leftSide.transform.position.x, player.transform.position.y,offset.z);
int i = 0;
if(i == 0) {
cameraMap.InvalidateCache();
i++;
}
else if (player.transform.position.x >= rightSide.transform.position.x)
{
transform.position = new Vector3(rightSide.transform.position.x, player.transform.position.y,offset.z);
}
else if (player.transform.position.y <= bottomSide.transform.position.y)
{
transform.position = new Vector3(player.transform.position.x, bottomSide.transform.position.y, offset.z);
}
else if (player.transform.position.y >= topSide.transform.position.y)
{
transform.position = new Vector3(player.transform.position.x, topSide.transform.position.y, offset.z);
}
else
{
transform.position = player.transform.position + offset;
}
//transform.position = player.transform.position + offset;
}
}
}
using Bigsock;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
......@@ -8,11 +9,22 @@ public class Door : MonoBehaviour, IInteractable
public SpriteRenderer spriteRenderer;
public Sprite newSprite;
private GameObject player;
private GameObject cameraPlayer;
private int i = TilemapGenerator.NextRoom();
private GameObject boundary;
public string InteractionPrompt => _prompt;
public bool Interact(Interactor interactor) {
Debug.Log("Opening door!");
spriteRenderer.sprite = newSprite;
player = GameObject.Find("BigSock");
boundary = GameObject.Find("CameraBoundry");
cameraPlayer = GameObject.Find("Main Camera");
player.transform.position = TilemapGenerator.DoorLocaitonTransport(i);
cameraPlayer.transform.position = player.transform.position;
boundary.GetComponent<PolygonCollider2D>().SetPath(0, TilemapGenerator.GetRoom(i));
return true;
}
}
fileFormatVersion: 2
guid: 74feb499403b4aa41a830a61dba8f194
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
using System;
using System.Collections;
using System.Collections.Generic;
using Unity.VisualScripting;
using UnityEngine;
namespace Bigsock
{
public abstract class AbstractMapGen : MonoBehaviour
{
[SerializeField]
protected TilemapGenerator tilemapGenerator = null;
[SerializeField]
protected int RoomCount;
//Depricated
public void GenerateMap()
{
//tilemapVisualizer.Clear();
RunProceduralGeneration();
}
public void Generate()
{
//tilemapGenerator.Clear();
RunProceduralGeneration();
}
public void ClearMap()
{
tilemapGenerator.Clear(RoomCount, true);
//tilemapVisualizer.Clear();
}
public abstract void RunProceduralGeneration();
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: 725e1e4aadc26ea4295922b37086eaeb
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: 3a71d4050dd7fd84fbdde8c46b880f51
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fbfb0de6beb24664cbb2d7f616b15910, type: 3}
m_Name: NeigbourParameters_big
m_EditorClassIdentifier:
width: 100
height: 100
smoothCount: 0
empty: 0
edgesAreWalls: 0
fileFormatVersion: 2
guid: 8231bde54903e1f48aad7aab4d2d0d0b
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fbfb0de6beb24664cbb2d7f616b15910, type: 3}
m_Name: NeigbourParameters_medium
m_EditorClassIdentifier:
width: 50
height: 40
smoothCount: 0
empty: 0
edgesAreWalls: 0
fileFormatVersion: 2
guid: c4633c3df2ba0da479dcc9db397ba8e9
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fbfb0de6beb24664cbb2d7f616b15910, type: 3}
m_Name: NeigbourParameters_small
m_EditorClassIdentifier:
width: 25
height: 10
smoothCount: 1
empty: 0
edgesAreWalls: 0
fileFormatVersion: 2
guid: 6aa6677fdfa93b44bb16121d4fb2fed9
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace Bigsock
{
[CreateAssetMenu(fileName = "NeigbourParameters_", menuName = "PCG/NeigbourData")]
public class NeigbourSO : ScriptableObject
{
[Range(25f, 100f)]
public int width;
[Range(10f, 100f)]
public int height;
public int smoothCount;
public bool empty, edgesAreWalls;
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: fbfb0de6beb24664cbb2d7f616b15910
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a8f755d3b55a45345a8269f6f3d641da, type: 3}
m_Name: TileSetParam_
m_EditorClassIdentifier:
wallLeftTile: {fileID: 11400000, guid: 482ddd0787e8e6845bf2715684b0eba3, type: 2}
wallRightTile: {fileID: 11400000, guid: 1d382a2702adb7f4ebc3ca6a5110afb4, type: 2}
wallBottomTile:
- {fileID: 11400000, guid: 91f123c55b83ed54ea8387bbb6250b9c, type: 2}
- {fileID: 11400000, guid: 2ead1fba8f3becd49aed19156d21e54c, type: 2}
- {fileID: 11400000, guid: 604fb5a5936131f42b7ed995b90b27f5, type: 2}
- {fileID: 11400000, guid: 78df622e549350e419f33628d6de5bec, type: 2}
wallTopTile:
- {fileID: 11400000, guid: 91f123c55b83ed54ea8387bbb6250b9c, type: 2}
- {fileID: 11400000, guid: a23d356dc7ef26b42afb97e7a7e87330, type: 2}
- {fileID: 11400000, guid: 146696a0f0461d9439de4b790c6e083b, type: 2}
- {fileID: 11400000, guid: 604fb5a5936131f42b7ed995b90b27f5, type: 2}
- {fileID: 11400000, guid: 78df622e549350e419f33628d6de5bec, type: 2}
wallCornerTile:
- {fileID: 11400000, guid: 26e1dd6488abfb34584a76d2ee5021de, type: 2}
- {fileID: 11400000, guid: c366a769491273347aa4de6d628d37af, type: 2}
floorTile:
- {fileID: 11400000, guid: decde4ccadd99f044a6a9f09c51a9077, type: 2}
- {fileID: 11400000, guid: 8938aa05be2283741866f9cb212cbfb2, type: 2}
- {fileID: 11400000, guid: 45520d2e837024f4583428bb378123a0, type: 2}
- {fileID: 11400000, guid: 184d2ff80e48f4b4d82d61458a6756c1, type: 2}
- {fileID: 11400000, guid: f04a8e256fee52940a0cb96ea72163a0, type: 2}
- {fileID: 11400000, guid: 60bfa98e2ec021b4abd020ea77da127b, type: 2}
- {fileID: 11400000, guid: 471a1ffc9aeb1c04bb8bbe643f7ac9a1, type: 2}
- {fileID: 11400000, guid: bfe73897392c1ee49b9d6dee3d174820, type: 2}
door:
- {fileID: 11400000, guid: 2451da60eae72804ea1516793136c130, type: 2}
- {fileID: 11400000, guid: 008ec0ae646e84841a3bcd3753ab7fa3, type: 2}
- {fileID: 11400000, guid: c3b5291c318038e4bbb6f1b39772db8a, type: 2}
- {fileID: 11400000, guid: 8607fee69c003254086318ea700356bc, type: 2}
- {fileID: 11400000, guid: 1d79f2a2dd2a98142ab3dee5022b6812, type: 2}
- {fileID: 11400000, guid: d4ff608324b75a24693fb931623e9d02, type: 2}
- {fileID: 11400000, guid: 731304ae8a725e34a8c382e0b0dd3467, type: 2}
- {fileID: 11400000, guid: 794cb64b1bb867c438f45faf4c809e60, type: 2}
- {fileID: 11400000, guid: 725ac7f68af6b7646922285011a3f343, type: 2}
- {fileID: 11400000, guid: 89f154c4c20759a43b960c725c916389, type: 2}
wallStatue:
- {fileID: 11400000, guid: 609866c82a109c746b2814487ebbef66, type: 2}
- {fileID: 11400000, guid: de3388181831cdc46a01a7486e223f94, type: 2}
floorRandom: 10
wallRandom: 10
fileFormatVersion: 2
guid: 575173cd6a316be4a841f4318029d01d
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Tilemaps;
namespace Bigsock
{
[CreateAssetMenu(fileName = "TileSetParam_", menuName = "PCG/TileSetData")]
public class TileSetSO : ScriptableObject
{
public TileBase wallLeftTile, wallRightTile;
public TileBase[] wallBottomTile, wallTopTile, wallCornerTile, floorTile, door, wallStatue;
[Range(10, 50)]
public int floorRandom = 10, wallRandom = 10;
}
}
fileFormatVersion: 2
guid: a8f755d3b55a45345a8269f6f3d641da
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace Bigsock
{
public class NeighbourMapGenerator : AbstractMapGen
{
[SerializeField]
protected NeigbourSO[] mapParam;
private static List<int[,]> roomList = new List<int[,]>();
public override void RunProceduralGeneration()
{
for (int i = 0; i <= RoomCount - 1; i++)
{
int randomMap = Random.Range(0, mapParam.Length);
int[,] map = tilemapGenerator.GenerateArray(mapParam[randomMap].width, mapParam[randomMap].height, mapParam[randomMap].empty);
roomList.Add(map);
tilemapGenerator.RenderMap(roomList[i],i);
tilemapGenerator.SpawnEnemies(map, 4 + i, i);
}
/*
int randomMap = Random.Range(0, mapParam.Length);
int[,] map = tilemapGenerator.GenerateArray(mapParam[randomMap].width, mapParam[randomMap].height, mapParam[randomMap].empty);
roomList.Add(map);
tilemapGenerator.RenderMap(roomList[0]);*/
tilemapGenerator.polyCollider(roomList[0], 0);
}
public static int[,] GetRoomList(int i)
{
return roomList[i];
}
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: 960d72caa307da4499b26afcf1a028ad
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment