Charge Point and Counters as Prefabs
This commit is contained in:
parent
72d9bf49ce
commit
6335383d45
13 changed files with 316 additions and 27 deletions
45
Assets/Prefabs/Charge Counter.prefab
Normal file
45
Assets/Prefabs/Charge Counter.prefab
Normal file
|
@ -0,0 +1,45 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &4683683892600594510
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 4683683892600594511}
|
||||
- component: {fileID: 4683683892600594508}
|
||||
m_Layer: 0
|
||||
m_Name: Charge Counter
|
||||
m_TagString: Charge Counter
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &4683683892600594511
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4683683892600594510}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -0.035214074, y: 0.0026455899, z: -3.452033}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &4683683892600594508
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 4683683892600594510}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5d115d824ecafad44ac21d88fe4b0bca, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
7
Assets/Prefabs/Charge Counter.prefab.meta
Normal file
7
Assets/Prefabs/Charge Counter.prefab.meta
Normal file
|
@ -0,0 +1,7 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 85fd029068587db4d95be8b3b62285c8
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
124
Assets/Prefabs/Charge Point.prefab
Normal file
124
Assets/Prefabs/Charge Point.prefab
Normal file
|
@ -0,0 +1,124 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1 &6460630409594600933
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 6460630409594600935}
|
||||
- component: {fileID: 6460630409594600932}
|
||||
- component: {fileID: 6460630409594600929}
|
||||
- component: {fileID: 6460630409594600928}
|
||||
m_Layer: 0
|
||||
m_Name: Charge Point
|
||||
m_TagString: Charge Point
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &6460630409594600935
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6460630409594600933}
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: -0.33, y: 2.15, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!212 &6460630409594600932
|
||||
SpriteRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6460630409594600933}
|
||||
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: 85e455eb0e01f3b4b97dec1065971269, type: 3}
|
||||
m_Color: {r: 0.093871, g: 1, b: 0, 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!61 &6460630409594600929
|
||||
BoxCollider2D:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6460630409594600933}
|
||||
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}
|
||||
m_SpriteTilingProperty:
|
||||
border: {x: 0, y: 0, z: 0, w: 0}
|
||||
pivot: {x: 0.5, y: 0.5}
|
||||
oldSize: {x: 1, y: 1}
|
||||
newSize: {x: 1, y: 1}
|
||||
adaptiveTilingThreshold: 0.5
|
||||
drawMode: 0
|
||||
adaptiveTiling: 0
|
||||
m_AutoTiling: 0
|
||||
serializedVersion: 2
|
||||
m_Size: {x: 1, y: 1}
|
||||
m_EdgeRadius: 0
|
||||
--- !u!114 &6460630409594600928
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 6460630409594600933}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: bbfc6aad33bc5d1409c0c44916c954e1, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
chargesRequired: 1
|
7
Assets/Prefabs/Charge Point.prefab.meta
Normal file
7
Assets/Prefabs/Charge Point.prefab.meta
Normal file
|
@ -0,0 +1,7 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 32fa01a5337b60d44bdc2573fd3ebe3f
|
||||
PrefabImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -204,7 +204,7 @@ Transform:
|
|||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1001 &2115795504294198323
|
||||
--- !u!1001 &1563259683
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
|
@ -219,12 +219,12 @@ PrefabInstance:
|
|||
- target: {fileID: 2115795504606128410, guid: 0fecd55e0eb9020499d7ba0934555d41,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: -10.01
|
||||
value: 8.99
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2115795504606128410, guid: 0fecd55e0eb9020499d7ba0934555d41,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: -0.02
|
||||
value: 0.02190405
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2115795504606128410, guid: 0fecd55e0eb9020499d7ba0934555d41,
|
||||
type: 3}
|
||||
|
@ -271,74 +271,79 @@ PrefabInstance:
|
|||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 2115795504606128415, guid: 0fecd55e0eb9020499d7ba0934555d41,
|
||||
type: 3}
|
||||
propertyPath: flipDirection
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 0fecd55e0eb9020499d7ba0934555d41, type: 3}
|
||||
--- !u!1001 &6403035723039066223
|
||||
--- !u!1001 &4683683891847250626
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 6403035724002954895, guid: d9378c4b4a9bc334d8e289cbcd7a5bed,
|
||||
- target: {fileID: 4683683892600594510, guid: 85fd029068587db4d95be8b3b62285c8,
|
||||
type: 3}
|
||||
propertyPath: m_Name
|
||||
value: Charge Counter
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 4683683892600594511, guid: 85fd029068587db4d95be8b3b62285c8,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 0
|
||||
value: -0.035214074
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6403035724002954895, guid: d9378c4b4a9bc334d8e289cbcd7a5bed,
|
||||
- target: {fileID: 4683683892600594511, guid: 85fd029068587db4d95be8b3b62285c8,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 0
|
||||
value: 0.0026455899
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6403035724002954895, guid: d9378c4b4a9bc334d8e289cbcd7a5bed,
|
||||
- target: {fileID: 4683683892600594511, guid: 85fd029068587db4d95be8b3b62285c8,
|
||||
type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0
|
||||
value: -3.452033
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6403035724002954895, guid: d9378c4b4a9bc334d8e289cbcd7a5bed,
|
||||
- target: {fileID: 4683683892600594511, guid: 85fd029068587db4d95be8b3b62285c8,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6403035724002954895, guid: d9378c4b4a9bc334d8e289cbcd7a5bed,
|
||||
- target: {fileID: 4683683892600594511, guid: 85fd029068587db4d95be8b3b62285c8,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6403035724002954895, guid: d9378c4b4a9bc334d8e289cbcd7a5bed,
|
||||
- target: {fileID: 4683683892600594511, guid: 85fd029068587db4d95be8b3b62285c8,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6403035724002954895, guid: d9378c4b4a9bc334d8e289cbcd7a5bed,
|
||||
- target: {fileID: 4683683892600594511, guid: 85fd029068587db4d95be8b3b62285c8,
|
||||
type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6403035724002954895, guid: d9378c4b4a9bc334d8e289cbcd7a5bed,
|
||||
- target: {fileID: 4683683892600594511, guid: 85fd029068587db4d95be8b3b62285c8,
|
||||
type: 3}
|
||||
propertyPath: m_RootOrder
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6403035724002954895, guid: d9378c4b4a9bc334d8e289cbcd7a5bed,
|
||||
- target: {fileID: 4683683892600594511, guid: 85fd029068587db4d95be8b3b62285c8,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6403035724002954895, guid: d9378c4b4a9bc334d8e289cbcd7a5bed,
|
||||
- target: {fileID: 4683683892600594511, guid: 85fd029068587db4d95be8b3b62285c8,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6403035724002954895, guid: d9378c4b4a9bc334d8e289cbcd7a5bed,
|
||||
- target: {fileID: 4683683892600594511, guid: 85fd029068587db4d95be8b3b62285c8,
|
||||
type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 6403035724002954929, guid: d9378c4b4a9bc334d8e289cbcd7a5bed,
|
||||
type: 3}
|
||||
propertyPath: m_Name
|
||||
value: Wall
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: d9378c4b4a9bc334d8e289cbcd7a5bed, type: 3}
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 85fd029068587db4d95be8b3b62285c8, type: 3}
|
||||
|
|
31
Assets/Scripts/ChargeCounter.cs
Normal file
31
Assets/Scripts/ChargeCounter.cs
Normal file
|
@ -0,0 +1,31 @@
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class ChargeCounter : MonoBehaviour
|
||||
{
|
||||
GameObject[] chargePoints;
|
||||
List<GameObject> chargedPoints = new List<GameObject>();
|
||||
|
||||
void Start()
|
||||
{
|
||||
if (chargePoints == null) chargePoints = GameObject.FindGameObjectsWithTag("Charge Point");
|
||||
}
|
||||
|
||||
public void AddChargedPoint(GameObject chargePoint)
|
||||
{
|
||||
chargedPoints.Add(chargePoint);
|
||||
DisplayCharges();
|
||||
}
|
||||
|
||||
public void RemoveChargedPoint(GameObject chargePoint)
|
||||
{
|
||||
chargedPoints.Remove(chargePoint);
|
||||
DisplayCharges();
|
||||
}
|
||||
|
||||
void DisplayCharges()
|
||||
{
|
||||
Debug.Log("Total Points:" + chargedPoints.Count);
|
||||
}
|
||||
}
|
11
Assets/Scripts/ChargeCounter.cs.meta
Normal file
11
Assets/Scripts/ChargeCounter.cs.meta
Normal file
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 5d115d824ecafad44ac21d88fe4b0bca
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
33
Assets/Scripts/ChargePoint.cs
Normal file
33
Assets/Scripts/ChargePoint.cs
Normal file
|
@ -0,0 +1,33 @@
|
|||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class ChargePoint : MonoBehaviour
|
||||
{
|
||||
public int chargesRequired = 1;
|
||||
|
||||
int charges = 0;
|
||||
bool charged = false;
|
||||
ChargeCounter chargeCounter;
|
||||
|
||||
void Start()
|
||||
{
|
||||
chargeCounter = GameObject.FindWithTag("Charge Counter").GetComponent<ChargeCounter>();
|
||||
}
|
||||
|
||||
public void adjustCharges(int amount = 1)
|
||||
{
|
||||
charges += amount;
|
||||
|
||||
if (charges >= chargesRequired)
|
||||
{
|
||||
if (!charged) chargeCounter.AddChargedPoint(gameObject);
|
||||
charged = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
chargeCounter.RemoveChargedPoint(gameObject);
|
||||
charged = false;
|
||||
}
|
||||
}
|
||||
}
|
11
Assets/Scripts/ChargePoint.cs.meta
Normal file
11
Assets/Scripts/ChargePoint.cs.meta
Normal file
|
@ -0,0 +1,11 @@
|
|||
fileFormatVersion: 2
|
||||
guid: bbfc6aad33bc5d1409c0c44916c954e1
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
|
@ -5,10 +5,12 @@ using UnityEngine;
|
|||
public class Laser : MonoBehaviour
|
||||
{
|
||||
public bool flipDirection;
|
||||
public int power = 1;
|
||||
|
||||
float maxDistance = 1000.0f;
|
||||
bool isHorizontal;
|
||||
LineRenderer laserLine;
|
||||
GameObject lastChargePoint;
|
||||
|
||||
void Start()
|
||||
{
|
||||
|
@ -19,22 +21,33 @@ public class Laser : MonoBehaviour
|
|||
void Update()
|
||||
{
|
||||
laserLine.SetPosition(0, transform.position);
|
||||
RaycastHit2D hit;
|
||||
|
||||
if (isHorizontal)
|
||||
{
|
||||
float endpointY = flipDirection ? transform.position.y - maxDistance : transform.position.y + maxDistance;
|
||||
RaycastHit2D hit = Physics2D.Raycast(transform.position, flipDirection ? Vector2.down : Vector2.up);
|
||||
hit = Physics2D.Raycast(transform.position, flipDirection ? Vector2.down : Vector2.up);
|
||||
|
||||
if (hit.collider) endpointY = hit.collider.transform.position.y;
|
||||
laserLine.SetPosition(1, new Vector3(transform.position.x, endpointY, 0));
|
||||
} else
|
||||
{
|
||||
float endpointX = flipDirection ? transform.position.x - maxDistance : transform.position.x + maxDistance;
|
||||
RaycastHit2D hit = Physics2D.Raycast(transform.position, flipDirection ? Vector2.left : Vector2.right);
|
||||
hit = Physics2D.Raycast(transform.position, flipDirection ? Vector2.left : Vector2.right);
|
||||
|
||||
if (hit.collider) endpointX = hit.collider.transform.position.x;
|
||||
laserLine.SetPosition(1, new Vector3(endpointX, transform.position.y, 0));
|
||||
}
|
||||
|
||||
if (hit.collider && hit.collider.tag == "Charge Point")
|
||||
{
|
||||
if (hit.collider.gameObject != lastChargePoint) hit.collider.GetComponent<ChargePoint>().adjustCharges(power);
|
||||
lastChargePoint = hit.collider.gameObject;
|
||||
} else
|
||||
{
|
||||
if (lastChargePoint) lastChargePoint.GetComponent<ChargePoint>().adjustCharges(power * -1);
|
||||
lastChargePoint = null;
|
||||
}
|
||||
}
|
||||
|
||||
void OnDrawGizmosSelected()
|
||||
|
|
|
@ -3,7 +3,9 @@
|
|||
--- !u!78 &1
|
||||
TagManager:
|
||||
serializedVersion: 2
|
||||
tags: []
|
||||
tags:
|
||||
- Charge Point
|
||||
- Charge Counter
|
||||
layers:
|
||||
- Default
|
||||
- TransparentFX
|
||||
|
|
Loading…
Add table
Reference in a new issue