Skip to content
Snippets Groups Projects
Commit b835a540 authored by Robin Ruud Kristensen's avatar Robin Ruud Kristensen
Browse files

Merge branch 'main' into 'alexander'

# Conflicts:
#   MrBigsock/Assets/Code/InteractionSystem/Door.cs
parents d4ccaada 8bb5ff3a
No related branches found
No related tags found
2 merge requests!52Updating master,!45Alexander
Showing
with 342 additions and 53 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;
......@@ -9,12 +10,22 @@ namespace BigSock.Interact {
public SpriteRenderer spriteRenderer;
public Sprite newSprite;
public string InteractionPrompt => _prompt;
private GameObject player;
private GameObject cameraPlayer;
private int i = TilemapGenerator.NextRoom();
private GameObject boundary;
public bool Interact(Interactor interactor) {
Debug.Log("Opening door!");
spriteRenderer.sprite = newSprite;
return true;
}
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