Add sign for first help
This commit is contained in:
@@ -1,21 +1,35 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.UI;
|
||||
|
||||
public class ObjectManager : MonoBehaviour
|
||||
{
|
||||
public enum ObjectType {Nothing, PushPull, Drag};
|
||||
public enum ObjectType {Nothing, PushPull, Sign};
|
||||
public ObjectType objectType = ObjectType.Nothing;
|
||||
private Rigidbody rigidBody;
|
||||
private MeshRenderer meshRenderer;
|
||||
private PlayerManager playerManager;
|
||||
private bool interact = false;
|
||||
|
||||
public GameObject detailSign;
|
||||
|
||||
// Start is called before the first frame update
|
||||
void Start()
|
||||
{
|
||||
meshRenderer = GetComponent<MeshRenderer>();
|
||||
if (objectType == ObjectType.Sign) {
|
||||
MeshRenderer[] meshR = GetComponentsInChildren<MeshRenderer>();
|
||||
if (meshR[0].materials[1] != null) {
|
||||
meshRenderer = meshR[0];
|
||||
}
|
||||
else
|
||||
{
|
||||
meshRenderer = meshR[1];
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
meshRenderer = GetComponent<MeshRenderer>();
|
||||
}
|
||||
meshRenderer.materials[1].SetFloat ("_Outline", 0.0f);
|
||||
meshRenderer.materials[1].SetColor("_OutlineColor", new Color(0.5276349f, 0.5566038f, 0.118147f));
|
||||
rigidBody = GetComponent<Rigidbody>();
|
||||
@@ -43,6 +57,18 @@ public class ObjectManager : MonoBehaviour
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (objectType == ObjectType.Sign)
|
||||
{
|
||||
if (Input.GetKeyUp(KeyCode.E) && !detailSign.activeSelf)
|
||||
{
|
||||
detailSign.SetActive(true);
|
||||
}
|
||||
else if (!playerManager.onGround || Input.GetAxisRaw("Horizontal") != 0 || (Input.GetKeyUp(KeyCode.E) && detailSign.activeSelf))
|
||||
{
|
||||
detailSign.SetActive(false);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -61,6 +87,28 @@ public class ObjectManager : MonoBehaviour
|
||||
}
|
||||
}
|
||||
|
||||
private void OnTriggerEnter(Collider other)
|
||||
{
|
||||
if (other.gameObject.tag == "Player")
|
||||
{
|
||||
if (objectType == ObjectType.Sign)
|
||||
{
|
||||
playerManager = other.gameObject.GetComponent<PlayerManager>();
|
||||
meshRenderer.materials[1].SetFloat("_Outline", 2.5f);
|
||||
interact = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void OnTriggerExit(Collider other)
|
||||
{
|
||||
if (other.gameObject.tag == "Player")
|
||||
{
|
||||
meshRenderer.materials[1].SetFloat("_Outline", 0.0f);
|
||||
interact = false;
|
||||
}
|
||||
}
|
||||
|
||||
private void OnCollisionStay(Collision collision)
|
||||
{
|
||||
if (collision.gameObject.tag == "Player")
|
||||
|
@@ -354,9 +354,9 @@ public class PlayerManager : MonoBehaviour
|
||||
dubleJump = true;
|
||||
dash = false;
|
||||
}
|
||||
powerCubeManager = other.gameObject.GetComponent<PowerCubeManager>();
|
||||
if (powerCubeManager != null)
|
||||
if (other.gameObject.GetComponent<PowerCubeManager>() != null)
|
||||
{
|
||||
powerCubeManager = other.gameObject.GetComponent<PowerCubeManager>();
|
||||
interact = true;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user