I am trying to compress my code into a cleaner approach. How do I access or call methods that are established in a base class, and then shared to all the derived?
Ex.
public class enemy_script01 : enemy_base { /* the same for every enemy */ }
The problem is with code like below, where each enemy has its own script(derived from base) even though I only need to access a method that is declared in the base( Hit(); )
// *** HIT FIREBALL ***
public void hit_fireball(GameObject my_enemy_hit, int spell_rank)
{
// fireball
if (my_enemy_hit.name == "enemy01") {
enemy_script01 my_enemy_hit_script;
my_enemy_hit_script = my_enemy_hit.GetComponent <enemy_script01> ();
my_enemy_hit_script.Hit (1, 10);
if (my_enemy_hit_script.can_be_burned) {
my_enemy_hit_script.burned = true;
}
} else if (my_enemy_hit.name == "enemy02") {
enemy_script02 my_enemy_hit_script;
my_enemy_hit_script = my_enemy_hit.GetComponent <enemy_script02> ();
my_enemy_hit_script.Hit (1, 10);
if (my_enemy_hit_script.can_be_burned) {
my_enemy_hit_script.burned = true;
}
} else if (my_enemy_hit.name == "enemy03") {
enemy_script03 my_enemy_hit_script;
my_enemy_hit_script = my_enemy_hit.GetComponent <enemy_script03> ();
my_enemy_hit_script.Hit (1, 10);
if (my_enemy_hit_script.can_be_burned) {
my_enemy_hit_script.burned = true;
}
} else if (my_enemy_hit.name == "enemy04") {
enemy_script04 my_enemy_hit_script;
my_enemy_hit_script = my_enemy_hit.GetComponent <enemy_script04> ();
my_enemy_hit_script.Hit (1, 10);
if (my_enemy_hit_script.can_be_burned) {
my_enemy_hit_script.burned = true;
}
}
}// END FIREBALL