Implemented individual colouring+game object for each body part of enemy robot

This commit is contained in:
Gregory Campbell
2020-04-07 22:14:10 -04:00
parent f834b7bb07
commit 8b71184ee9
22 changed files with 1562 additions and 128 deletions
+75 -8
View File
@@ -8,7 +8,6 @@ public class GMScript : MonoBehaviour
public GameObject[] PartyMembers;
public Sprite[] OrderSprites;
public GameObject EnemyRobot;
public GameObject Hit;
public GameObject EnemyHit;
public GameObject Sheild;
@@ -18,6 +17,15 @@ public class GMScript : MonoBehaviour
public Text EnemyHealthText;
public Text PartyHealthText;
public GameObject[] EnemyParts;
public Sprite[] EnemyHead;
public Sprite[] EnemyAntenna;
public Sprite[] EnemyBody;
public Sprite[] EnemyArm;
public Sprite[] EnemyChest;
public Sprite[] EnemyWeakness;
private bool noRepeat = true;
private bool sheild = false;
private bool gameover = false;
@@ -45,6 +53,8 @@ public class GMScript : MonoBehaviour
void Start()
{
EnemyBuilder();
EnemyHealthText.text = enemyHealth.ToString();
PartyHealthText.text = partyHealth.ToString();
EnemyDamageText.text = null;
@@ -67,11 +77,6 @@ public class GMScript : MonoBehaviour
}
enemyColour = Random.Range(0, 12);
EnemyRobot.transform.GetComponent<SpriteRenderer>().color =
SetColour(enemyColour);
}
// Update is called once per frame
@@ -344,7 +349,7 @@ public class GMScript : MonoBehaviour
{
// RUNS ATTACK ANIMATION OF ENEMY
Animator enemyAttackAnim = EnemyRobot.transform.GetComponent<Animator>();
Animator enemyAttackAnim = EnemyParts[2].transform.parent.GetComponent<Animator>();
enemyAttackAnim.SetTrigger("AttackTrigger");
yield return new WaitForSeconds(
@@ -352,7 +357,7 @@ public class GMScript : MonoBehaviour
+enemyAttackAnim.GetCurrentAnimatorStateInfo(0).normalizedTime);
EnemyHit.transform.GetComponent<SpriteRenderer>().color =
EnemyRobot.transform.GetComponent<SpriteRenderer>().color;
EnemyParts[3].transform.GetChild(0).GetComponent<SpriteRenderer>().color;
enemyAttackAnim.SetTrigger("AttackTrigger");
@@ -365,6 +370,21 @@ public class GMScript : MonoBehaviour
Animator hit = EnemyHit.transform.GetComponent<Animator>();
hit.SetTrigger("HitTrigger");
yield return new WaitForSeconds(
hit.GetCurrentAnimatorStateInfo(0).length
+hit.GetCurrentAnimatorStateInfo(0).normalizedTime);
hit.SetTrigger("HitTrigger");
EnemyHit.SetActive(false);
EnemyHit.transform.GetComponent<SpriteRenderer>().color =
EnemyParts[4].transform.GetChild(0).GetComponent<SpriteRenderer>().color;
EnemyHit.SetActive(true);
hit.SetTrigger("HitTrigger");
yield return new WaitForSeconds(
hit.GetCurrentAnimatorStateInfo(0).length
+hit.GetCurrentAnimatorStateInfo(0).normalizedTime);
@@ -458,6 +478,53 @@ public class GMScript : MonoBehaviour
}
void EnemyBuilder()
{
EnemyParts[0].transform.GetChild(0).GetComponent<SpriteRenderer>().sprite =
EnemyAntenna[Random.Range(0, EnemyAntenna.Length)];
EnemyParts[0].transform.GetChild(0).GetComponent<SpriteRenderer>().color =
SetColour(Random.Range(0, 12));
EnemyParts[1].transform.GetChild(0).GetComponent<SpriteRenderer>().sprite =
EnemyHead[Random.Range(0, EnemyHead.Length)];
EnemyParts[1].transform.GetChild(0).GetComponent<SpriteRenderer>().color =
SetColour(Random.Range(0, 12));
EnemyParts[2].transform.GetChild(0).GetComponent<SpriteRenderer>().sprite =
EnemyBody[Random.Range(0, EnemyBody.Length)];
EnemyParts[2].transform.GetChild(0).GetComponent<SpriteRenderer>().color =
SetColour(Random.Range(0, 12));
EnemyParts[3].transform.GetChild(0).GetComponent<SpriteRenderer>().sprite =
EnemyArm[Random.Range(0, EnemyArm.Length)];
EnemyParts[3].transform.GetChild(0).GetComponent<SpriteRenderer>().color =
SetColour(Random.Range(0, 12));
EnemyParts[4].transform.GetChild(0).GetComponent<SpriteRenderer>().sprite =
EnemyArm[Random.Range(0, EnemyArm.Length)];
EnemyParts[4].transform.GetChild(0).GetComponent<SpriteRenderer>().color =
SetColour(Random.Range(0, 12));
EnemyParts[5].transform.GetChild(0).GetComponent<SpriteRenderer>().sprite =
EnemyChest[Random.Range(0, EnemyChest.Length)];
EnemyParts[5].transform.GetChild(0).GetComponent<SpriteRenderer>().color =
SetColour(Random.Range(0, 12));
EnemyParts[6].transform.GetChild(0).GetComponent<SpriteRenderer>().sprite =
EnemyWeakness[Random.Range(0, EnemyWeakness.Length)];
EnemyParts[6].transform.GetChild(0).GetComponent<SpriteRenderer>().color =
SetColour(Random.Range(0, 12));
}
Color SetColour(int robotColour)
{
Color colourValue = new Color(1, 1, 1, 1);