Charge Point and Counters as Prefabs

This commit is contained in:
Ava Gaiety Wroten 2020-06-14 10:36:47 -05:00
parent 72d9bf49ce
commit 6335383d45
13 changed files with 316 additions and 27 deletions

View 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:

View file

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 85fd029068587db4d95be8b3b62285c8
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View 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

View file

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 32fa01a5337b60d44bdc2573fd3ebe3f
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -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}

View 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);
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 5d115d824ecafad44ac21d88fe4b0bca
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View 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;
}
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: bbfc6aad33bc5d1409c0c44916c954e1
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -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()

View file

@ -3,7 +3,9 @@
--- !u!78 &1
TagManager:
serializedVersion: 2
tags: []
tags:
- Charge Point
- Charge Counter
layers:
- Default
- TransparentFX