Пример #1
0
 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;
 }
Пример #2
0
    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);
        }
    }
Пример #3
0
    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));
        }
    }
Пример #4
0
 //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);
 }
Пример #5
0
 public GameObject Spawn(ProjectileName projectileName, Side side)
 {
     return(SpawnFromPool(projectileName.ToString(), prefabs [(int)projectileName], side));
 }