mirror of
https://github.com/Steffo99/gravity-fusion.git
synced 2024-11-25 01:34:18 +00:00
Add camera control
This commit is contained in:
parent
edd04b6776
commit
d736aa97a2
12 changed files with 208 additions and 154 deletions
39
.vscode/launch.json
vendored
Normal file
39
.vscode/launch.json
vendored
Normal file
|
@ -0,0 +1,39 @@
|
|||
{
|
||||
// Use IntelliSense to learn about possible attributes.
|
||||
// Hover to view descriptions of existing attributes.
|
||||
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
||||
"version": "0.2.0",
|
||||
"configurations": [
|
||||
{
|
||||
"name": "Unity Editor",
|
||||
"type": "unity",
|
||||
"path": "/d:/Codice/LD45/Library/EditorInstance.json",
|
||||
"request": "launch"
|
||||
},
|
||||
{
|
||||
"name": "Windows Player",
|
||||
"type": "unity",
|
||||
"request": "launch"
|
||||
},
|
||||
{
|
||||
"name": "OSX Player",
|
||||
"type": "unity",
|
||||
"request": "launch"
|
||||
},
|
||||
{
|
||||
"name": "Linux Player",
|
||||
"type": "unity",
|
||||
"request": "launch"
|
||||
},
|
||||
{
|
||||
"name": "iOS Player",
|
||||
"type": "unity",
|
||||
"request": "launch"
|
||||
},
|
||||
{
|
||||
"name": "Android Player",
|
||||
"type": "unity",
|
||||
"request": "launch"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -4,5 +4,6 @@ using UnityEngine;
|
|||
|
||||
public class GameController : MonoBehaviour
|
||||
{
|
||||
public float gravitationConstant = 1;
|
||||
[Header("Global Variables")]
|
||||
public float gravitationConstant;
|
||||
}
|
||||
|
|
|
@ -2,20 +2,21 @@
|
|||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
[RequireComponent(typeof(Rigidbody2D))]
|
||||
public class Gravitation : MonoBehaviour
|
||||
{
|
||||
[Header("Forces")]
|
||||
protected Vector3 appliedForce;
|
||||
protected float forcesIntensity;
|
||||
|
||||
public static List<Gravitation> simulatedObjects = null;
|
||||
|
||||
protected new Rigidbody2D rigidbody;
|
||||
|
||||
protected GameController gameController;
|
||||
|
||||
[Header("Internals")]
|
||||
public static List<Gravitation> simulatedObjects;
|
||||
public int positionInList;
|
||||
|
||||
protected Vector3 appliedForce;
|
||||
[Header("References")]
|
||||
protected new Rigidbody2D rigidbody;
|
||||
protected GameController gameController;
|
||||
|
||||
protected float forcesIntensity;
|
||||
|
||||
protected float mass {
|
||||
get {
|
||||
|
|
32
Assets/Components/PanWithMMB.cs
Normal file
32
Assets/Components/PanWithMMB.cs
Normal file
|
@ -0,0 +1,32 @@
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
[RequireComponent(typeof(Camera))]
|
||||
public class PanWithMMB : MonoBehaviour
|
||||
{
|
||||
[Header("References")]
|
||||
protected new Camera camera;
|
||||
|
||||
[Header("Internals")]
|
||||
protected Vector3? lastMousePosition;
|
||||
|
||||
private void Start() {
|
||||
lastMousePosition = null;
|
||||
camera = GetComponent<Camera>();
|
||||
}
|
||||
|
||||
private void Update() {
|
||||
bool mmbIsPressed = Input.GetMouseButton(2);
|
||||
Vector3? currentMousePosition = null;
|
||||
if(mmbIsPressed) {
|
||||
currentMousePosition = camera.ScreenToWorldPoint(Input.mousePosition);
|
||||
if(lastMousePosition.HasValue) {
|
||||
Vector3 positionDelta = lastMousePosition.Value - currentMousePosition.Value;
|
||||
camera.transform.position += positionDelta;
|
||||
currentMousePosition = camera.ScreenToWorldPoint(Input.mousePosition);
|
||||
}
|
||||
}
|
||||
lastMousePosition = currentMousePosition;
|
||||
}
|
||||
}
|
11
Assets/Components/PanWithMMB.cs.meta
Normal file
11
Assets/Components/PanWithMMB.cs.meta
Normal file
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: faf7dfc2fa2059f4a96e4a134b4ef2ab
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
22
Assets/Components/SpawnOnMouseClick.cs
Normal file
22
Assets/Components/SpawnOnMouseClick.cs
Normal file
|
@ -0,0 +1,22 @@
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class SpawnOnMouseClick : MonoBehaviour
|
||||
{
|
||||
[Header("Config")]
|
||||
public GameObject prefabToSpawn;
|
||||
public int mouseButton;
|
||||
|
||||
protected Vector3 GetWorldMousePosition() {
|
||||
return Camera.main.ScreenToWorldPoint(Input.mousePosition);
|
||||
}
|
||||
|
||||
void Update()
|
||||
{
|
||||
if(Input.GetMouseButtonDown(mouseButton)) {
|
||||
Vector3 mousePosition = GetWorldMousePosition();
|
||||
GameObject instance = Instantiate(prefabToSpawn, new Vector3(mousePosition.x, mousePosition.y, 0f), Quaternion.identity);
|
||||
}
|
||||
}
|
||||
}
|
11
Assets/Components/SpawnOnMouseClick.cs.meta
Normal file
11
Assets/Components/SpawnOnMouseClick.cs.meta
Normal file
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 6c6157b8c0c98584db4becc892a8f6fd
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
27
Assets/Components/ZoomWithScrollWheel.cs
Normal file
27
Assets/Components/ZoomWithScrollWheel.cs
Normal file
|
@ -0,0 +1,27 @@
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
[RequireComponent(typeof(Camera))]
|
||||
public class ZoomWithScrollWheel : MonoBehaviour
|
||||
{
|
||||
[Header("Config")]
|
||||
public float zoomMultiplier;
|
||||
public string zoomAxisName;
|
||||
|
||||
[Header("References")]
|
||||
protected new Camera camera;
|
||||
|
||||
void Start()
|
||||
{
|
||||
camera = GetComponent<Camera>();
|
||||
}
|
||||
|
||||
void Update()
|
||||
{
|
||||
float mouseWheel = Input.GetAxis(zoomAxisName);
|
||||
if(mouseWheel != 0) {
|
||||
camera.orthographicSize = Mathf.Clamp(camera.orthographicSize - mouseWheel * zoomMultiplier, 0, float.PositiveInfinity);
|
||||
}
|
||||
}
|
||||
}
|
11
Assets/Components/ZoomWithScrollWheel.cs.meta
Normal file
11
Assets/Components/ZoomWithScrollWheel.cs.meta
Normal file
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 45a8a9da7e5b8734eb709105fd6e30e1
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -43,3 +43,4 @@ MonoBehaviour:
|
|||
m_Script: {fileID: 11500000, guid: 1d1d0978f263bec41af567152b121a2e, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
gravitationConstant: 2
|
||||
|
|
|
@ -11,6 +11,9 @@ GameObject:
|
|||
- component: {fileID: 9221969453073420272}
|
||||
- component: {fileID: 9221969453073420047}
|
||||
- component: {fileID: 9221969453073420045}
|
||||
- component: {fileID: 1504932582}
|
||||
- component: {fileID: 1504932583}
|
||||
- component: {fileID: 1504932587}
|
||||
m_Layer: 0
|
||||
m_Name: MainCamera
|
||||
m_TagString: MainCamera
|
||||
|
@ -83,3 +86,42 @@ AudioListener:
|
|||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9221969453073420044}
|
||||
m_Enabled: 1
|
||||
--- !u!114 &1504932582
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9221969453073420044}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 6c6157b8c0c98584db4becc892a8f6fd, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
prefab: {fileID: 5473375028011702754, guid: e73d8e05bd7498c4a80a63094f4594a8, type: 3}
|
||||
--- !u!114 &1504932583
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9221969453073420044}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 45a8a9da7e5b8734eb709105fd6e30e1, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
zoomMultiplier: 1
|
||||
zoomAxisName: MouseWheel
|
||||
--- !u!114 &1504932587
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 9221969453073420044}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: faf7dfc2fa2059f4a96e4a134b4ef2ab, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
|
|
|
@ -121,140 +121,6 @@ NavMeshSettings:
|
|||
debug:
|
||||
m_Flags: 0
|
||||
m_NavMeshData: {fileID: 0}
|
||||
--- !u!1 &1005736364
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1005736369}
|
||||
- component: {fileID: 1005736368}
|
||||
- component: {fileID: 1005736367}
|
||||
- component: {fileID: 1005736366}
|
||||
- component: {fileID: 1005736365}
|
||||
m_Layer: 0
|
||||
m_Name: Gravitation Object
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &1005736365
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1005736364}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: d16f17bda197c324f8b088f106c66c5c, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
positionInList: 0
|
||||
--- !u!212 &1005736366
|
||||
SpriteRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1005736364}
|
||||
m_Enabled: 1
|
||||
m_CastShadows: 0
|
||||
m_ReceiveShadows: 0
|
||||
m_DynamicOccludee: 1
|
||||
m_MotionVectors: 1
|
||||
m_LightProbeUsage: 1
|
||||
m_ReflectionProbeUsage: 1
|
||||
m_RayTracingMode: 0
|
||||
m_RenderingLayerMask: 1
|
||||
m_RendererPriority: 0
|
||||
m_Materials:
|
||||
- {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
|
||||
m_StaticBatchInfo:
|
||||
firstSubMesh: 0
|
||||
subMeshCount: 0
|
||||
m_StaticBatchRoot: {fileID: 0}
|
||||
m_ProbeAnchor: {fileID: 0}
|
||||
m_LightProbeVolumeOverride: {fileID: 0}
|
||||
m_ScaleInLightmap: 1
|
||||
m_ReceiveGI: 1
|
||||
m_PreserveUVs: 0
|
||||
m_IgnoreNormalsForChartDetection: 0
|
||||
m_ImportantGI: 0
|
||||
m_StitchLightmapSeams: 1
|
||||
m_SelectedEditorRenderState: 0
|
||||
m_MinimumChartSize: 4
|
||||
m_AutoUVMaxDistance: 0.5
|
||||
m_AutoUVMaxAngle: 89
|
||||
m_LightmapParameters: {fileID: 0}
|
||||
m_SortingLayerID: 0
|
||||
m_SortingLayer: 0
|
||||
m_SortingOrder: 0
|
||||
m_Sprite: {fileID: 21300000, guid: d8cf31929ca287542bdc219ec19f002e, type: 3}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_FlipX: 0
|
||||
m_FlipY: 0
|
||||
m_DrawMode: 0
|
||||
m_Size: {x: 1, y: 1}
|
||||
m_AdaptiveModeThreshold: 0.5
|
||||
m_SpriteTileMode: 0
|
||||
m_WasSpriteAssigned: 1
|
||||
m_MaskInteraction: 0
|
||||
m_SpriteSortPoint: 0
|
||||
--- !u!58 &1005736367
|
||||
CircleCollider2D:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1005736364}
|
||||
m_Enabled: 1
|
||||
m_Density: 1
|
||||
m_Material: {fileID: 0}
|
||||
m_IsTrigger: 0
|
||||
m_UsedByEffector: 0
|
||||
m_UsedByComposite: 0
|
||||
m_Offset: {x: 0, y: 0}
|
||||
serializedVersion: 2
|
||||
m_Radius: 0.5
|
||||
--- !u!50 &1005736368
|
||||
Rigidbody2D:
|
||||
serializedVersion: 4
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1005736364}
|
||||
m_BodyType: 0
|
||||
m_Simulated: 1
|
||||
m_UseFullKinematicContacts: 0
|
||||
m_UseAutoMass: 1
|
||||
m_Mass: 0.7853982
|
||||
m_LinearDrag: 0
|
||||
m_AngularDrag: 0.05
|
||||
m_GravityScale: 0
|
||||
m_Material: {fileID: 0}
|
||||
m_Interpolate: 0
|
||||
m_SleepingMode: 1
|
||||
m_CollisionDetection: 0
|
||||
m_Constraints: 0
|
||||
--- !u!4 &1005736369
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1005736364}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -15.4, y: 6.35, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1001 &1803533283597936005
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -322,11 +188,6 @@ PrefabInstance:
|
|||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4937878819460165300, guid: bf08d766b6e86cf4a8773489143ab2d5,
|
||||
type: 3}
|
||||
propertyPath: gravitationConstant
|
||||
value: 2
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: bf08d766b6e86cf4a8773489143ab2d5, type: 3}
|
||||
--- !u!1001 &9221969453494073200
|
||||
|
@ -396,10 +257,5 @@ PrefabInstance:
|
|||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 9221969453073420047, guid: 6baf9ec6ad712d940a83a3bf6ae3e6b1,
|
||||
type: 3}
|
||||
propertyPath: orthographic size
|
||||
value: 20
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 6baf9ec6ad712d940a83a3bf6ae3e6b1, type: 3}
|
||||
|
|
Loading…
Reference in a new issue