示例#1
0
    public void Pickup()
    {
        int pickupType = -1;

        if (potentialPickups[0] is CannonComponent)
        {
            pickupType = 0;
        }
        else if (potentialPickups[0] is TornadoComponent)
        {
            pickupType = 1;
        }
        else if (potentialPickups[0] is WingComponent)
        {
            pickupType = 2;
        }
        else if (potentialPickups[0] is CoilComponent)
        {
            pickupType = 3;
        }

        Destroy(potentialPickups[0].gameObject);
        SharkComponent newComp = Instantiate(componentPrefabs[pickupType], transform.position, transform.rotation, transform).GetComponent <SharkComponent>();

        if (GetComponent <SpriteRenderer>().flipY)
        {
            newComp.SetMirror(true);
        }
        newComp.shark = this;
    }
示例#2
0
 // Start is called before the first frame update
 protected void Start()
 {
     uiManager       = FindObjectOfType <UIManager>();
     pixelManager    = FindObjectOfType <PixelManager>();
     sharkComponents = new List <SharkComponent>();
     attackComp      = null;
     meleeHitBox.SetActive(false);
     cooldownTimer = 0.0f;
     currHealth    = maxHealth;
 }
示例#3
0
 public void NewAttack(SharkComponent newAttackComp)
 {
     if (attackComp != null)
     {
         sharkComponents.Remove(attackComp);
         Destroy(attackComp.gameObject);
     }
     attackComp = newAttackComp;
     if (newAttackComp != null)
     {
         cooldown = newAttackComp.cooldown;
     }
 }
示例#4
0
    void SpawnShark()
    {
        // Instantiate new shark
        Vector3    spawnPos = new Vector3(Random.Range(-4.3f, 4.3f), transform.position.y, transform.position.z);
        EnemyShark newShark = Instantiate(sharkPrefab, spawnPos, transform.rotation, transform).GetComponent <EnemyShark>();

        newShark.spawner = this;
        enemySharks.Add(newShark);
        ++spawnedThisWave;
        // Give it components
        foreach (GameObject compPrefab in waves[currentWave].sharkComponents)
        {
            if (Random.Range(0, 2) == 1)
            {
                SharkComponent newComp = Instantiate(compPrefab, newShark.transform.position, newShark.transform.rotation, newShark.transform).GetComponent <SharkComponent>();
                newComp.shark = newShark;
            }
        }
    }
示例#5
0
 public void RemoveSharkComponent(SharkComponent comp)
 {
     sharkComponents.Remove(comp);
 }
示例#6
0
 public void AddSharkComponent(SharkComponent comp)
 {
     sharkComponents.Add(comp);
 }
示例#7
0
 public void RemovePotentialPickup(SharkComponent comp)
 {
     potentialPickups.Remove(comp);
 }
示例#8
0
 public void AddPotentialPickup(SharkComponent comp)
 {
     potentialPickups.Add(comp);
 }