Enemy Logik erstellt Weitere Kommentare: Ich werde herausfinden, wer Coroutinen erfunden hat und diese Person auf dieselbe Art knechten, wie ich es in den letzten 5 Stunden wurde. WaitForSeconds(5) aber alles 4000 Mal in 3 Sekunden durchlaufen, mein Arsch.
This commit is contained in:
237
Assets/Scripts/Enemy/FieScript.cs
Normal file
237
Assets/Scripts/Enemy/FieScript.cs
Normal file
@@ -0,0 +1,237 @@
|
||||
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();
|
||||
}*/
|
||||
}
|
||||
Reference in New Issue
Block a user