public void initialize(GameObject Owner, Transform LaunchPoint, float Damage, float initalVelocity, float angle, projectileType type, Allegiance allegiance, ProjectileName name, float DropRate) { this.gameObject.SetActive(true); this.Owner = Owner.GetComponent <CubePlayer>(); this.transform.position = LaunchPoint.position; this.transform.rotation = LaunchPoint.rotation; this.forward = LaunchPoint.forward; forward.y = 0; this.initalVelocity = initalVelocity; this.angle = angle; this.type = type; this.allegiance = allegiance; this.pName = name; this.dropRate = DropRate; Child = transform.GetChild(0).gameObject; }
public static Projectile AddProjectile(ProjectileName name) { GameObject temp = null; switch (name) { case ProjectileName.Hammer: for (int i = 0; i < ProjectilePrefabs.Length; i++) { if (ProjectilePrefabs[i].name == "Hammer") { temp = GameObject.Instantiate(ProjectilePrefabs[i], Vector3.zero, Quaternion.identity) as GameObject; ProjectilePool.Add(temp.GetComponent <Projectile>()); } } return(temp.GetComponent <Projectile>()); case ProjectileName.Bullet: for (int i = 0; i < ProjectilePrefabs.Length; i++) { if (ProjectilePrefabs[i].name == "Bullet") { temp = GameObject.Instantiate(ProjectilePrefabs[i], Vector3.zero, Quaternion.identity) as GameObject; ProjectilePool.Add(temp.GetComponent <Projectile>()); } } return(temp.GetComponent <Projectile>()); case ProjectileName.Shell: for (int i = 0; i < ProjectilePrefabs.Length; i++) { if (ProjectilePrefabs[i].name == "Shell") { temp = GameObject.Instantiate(ProjectilePrefabs[i], Vector3.zero, Quaternion.identity) as GameObject; ProjectilePool.Add(temp.GetComponent <Projectile>()); } } return(temp.GetComponent <Projectile>()); default: Debug.Log("Error No Projectile Prefab " + name); Debug.Break(); return(null); } }
public static Projectile GetProjectile(ProjectileName name) { Projectile temp = null; for (int i = 0; i < ProjectilePool.Count; i++) { if (ProjectilePool[i].getpName == name && ProjectilePool[i].getOwner == null) { temp = ProjectilePool[i]; break; } } if (temp != null) { return(temp); } else { return(AddProjectile(name)); } }
//functions public void initialize(GameObject Owner, Transform LaunchPoint, float Damage, float initalVelocity, float angle, projectileType type, Allegiance allegiance, ProjectileName name) { initialize(Owner, LaunchPoint, Damage, initalVelocity, angle, type, allegiance, name, 0f); }
public GameObject Spawn(ProjectileName projectileName, Side side) { return(SpawnFromPool(projectileName.ToString(), prefabs [(int)projectileName], side)); }