Files
ConvenientHorror/Assets/Scripts/Enemy/FieScript.cs

238 lines
5.2 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using System.Collections;
using UnityEngine;
public class FieScript : MonoBehaviour
{
[SerializeField] GameObject button;
[Header("Spawn Points")]
[SerializeField] GameObject SPBack;
[SerializeField] GameObject SPLeft;
[SerializeField] GameObject SPRight;
[SerializeField] GameObject SPDeath;
bool spawn1 = false;
bool spawn2 = false;
[Header("Character")]
[SerializeField] GameObject Fiefetti;
//[SerializeField] int damageDealt = 1; //hat aktuell keinen Zweck
[SerializeField] public float stateTime = 10f;
public bool fieKill;
[Header("Scripts")]
[SerializeField] GameObject scriptPile;
[SerializeField] GameObject door1; //1 is always Left
[SerializeField] GameObject door2;
ChangeHealth healthScript;
Door doorSwitch;
Door doorSwitch2;
private void Awake()
{
healthScript = scriptPile.GetComponent<ChangeHealth>();
doorSwitch = door1.GetComponent<Door>();
doorSwitch2 = door2.GetComponent<Door>();
}
void Start()
{
button.SetActive(false); //zum vorherigen Debuggen genutzt
spawn1 = false;
spawn2 = false;
//StateOne();
StartStuff();
}
void Update()
{
}
public void HitPlayer()
{
healthScript.GetHit();
}
public void StartStuff()
{
Debug.Log("I´m starting stuff.");
StartCoroutine(WanderAround());
}
IEnumerator WanderAround()
{
Debug.Log("Fiefetti: Wandering around");
button.SetActive(false);
Fiefetti.transform.position = SPBack.transform.position;
//Hauptposition
Debug.Log("Fiefetti: Bin hinten");
int random = Random.Range(1, 3);
if (random == 1) //1 bedeutet immer left
{
spawn1 = true;
}
else
{
spawn2 = true;
}
Debug.Log("random = " + random);
yield return new WaitForSeconds(stateTime);
StartCoroutine(WanderClose());
}
IEnumerator WanderClose()
{
if (spawn1 == true) //1 bedeutet immer left
{
Fiefetti.transform.position = SPLeft.transform.position;
}
else
{
Fiefetti.transform.position = SPRight.transform.position;
}
StartCoroutine(WanderAround());
//einen von zwei Punkten aussuchen
Debug.Log("Fiefetti: Komme näher");
yield return new WaitForSeconds(stateTime);
StartCoroutine(GetTooClose());
}
IEnumerator GetTooClose()
{
if (doorSwitch.isOpen == true)
{
Fiefetti.transform.position = SPDeath.transform.position;
Debug.Log("Fiefetti: Hab dich!");
//reingehen
HitPlayer();
//StateOne();
fieKill = true;
}
else if (doorSwitch2.isOpen == true)
{
Fiefetti.transform.position = SPDeath.transform.position;
Debug.Log("Fiefetti: Hab dich!");
//reingehen
HitPlayer();
//StateOne();
fieKill = true;
}
else
{
//AudioSpielen
fieKill = false;
Debug.Log("Fiefetti: Och menno");
}
spawn1 = false;
spawn2 = false;
//StateOne();
yield return new WaitForSeconds(stateTime);
StartCoroutine(WanderAround());
}
/*
public void StateOne()
{
button.SetActive(false);
Fiefetti.transform.position = SPBack.transform.position;
//Hauptposition
Debug.Log("Fiefetti: Bin hinten");
int random = Random.Range(1, 3);
if (random == 1) //1 bedeutet immer left
{
spawn1 = true;
}
else
{
spawn2 = true;
}
Debug.Log("random = " + random);
//StartCoroutine(WanderClose());
}*/
/*
public void StateTwo()
{
if (spawn1 == true) //1 bedeutet immer left
{
Fiefetti.transform.position = SPLeft.transform.position;
}
else
{
Fiefetti.transform.position = SPRight.transform.position;
}
StartCoroutine(WanderAround());
//einen von zwei Punkten aussuchen
Debug.Log("Fiefetti: Komme näher");
//StateThree();
}*/
/*
public void StateThree()
{
if (doorSwitch.isOpen == true)
{
Fiefetti.transform.position = SPDeath.transform.position;
Debug.Log("Fiefetti: Hab dich!");
//reingehen
HitPlayer();
//StateOne();
fieKill = true;
}
else if (doorSwitch2.isOpen == true)
{
Fiefetti.transform.position = SPDeath.transform.position;
Debug.Log("Fiefetti: Hab dich!");
//reingehen
HitPlayer();
//StateOne();
fieKill = true;
}
else
{
//AudioSpielen
fieKill = false;
Debug.Log("Fiefetti: Och menno");
}
StartCoroutine(WanderAround());
spawn1 = false;
spawn2 = false;
//StateOne();
}*/
}