// Start is called before the first frame update
 void Start()
 {
     deathExplosion       = GameObject.Find("death_explosion").GetComponent <ParticleSystem>();
     spacecraftController = GetComponent <SpacecraftController>();
     deathExplosion.Stop();
     spacecraftDead = false;
 }
    public void Damage(float damage,Vector3 position, SpacecraftController source = null)
    {
        var hitShields = shields.Where(s => s.Overlaps(position))
            .OrderBy(s => s.ShieldPercentage).ToArray();
        float overflow = damage;
        if (hitShields.Length>0)
        {
            overflow = hitShields[0].Damage(damage, position);
        }
        health = Mathf.Clamp(health - overflow, 0, MAX_HEALTH);
        //GameObject.FindObjectOfType<MessageController>().AddMessage(damage.ToString("n2") + " damage");

        if (health == 0)
        {
            var deathMessage = ColoredName + " destroyed";
            if (source != null)
            {
                deathMessage += " by " + source.ColoredName;
            }
            GameObject.FindObjectOfType<MessageController>().AddMessage(deathMessage);

            var explo = Instantiate(Resources.Load<Transform>("Explosion"));
            explo.position = this.transform.position;
            Destroy(this.gameObject);
            Destroy(explo.gameObject,5);
            Destroy(status.gameObject);
            if(GameObject.FindObjectOfType<PlayerSpacecraft>()==null ||
               GameObject.FindObjectsOfType<AiSpacecraft>().Where(ai => ai.isActiveAndEnabled).Count() == 0)
            {
                GameOver();
            }
        }
    }
Exemple #3
0
 // Start is called before the first frame update
 void Start()
 {
     spacecraftController = FindObjectOfType <SpacecraftController>();
     gamePaused           = false;
     pauseMenu            = GameObject.FindGameObjectWithTag("PauseMenu");
     levelTime            = FindObjectOfType <LevelTime>();
     pauseMenu.SetActive(false);
 }
Exemple #4
0
 void Awake()
 {
     controller       = GetComponent <SpacecraftController>();
     actions          = new List <SpacecraftAction>();
     rb               = GetComponent <Rigidbody2D>();
     attractor        = GetComponent <Attractor>();
     damageIndication = GetComponent <ActivateForTime>();
 }
    // Use this for initialization
    void Start()
    {
        //rb = GetComponent<Rigidbody>();
        shipController = transform.parent.GetComponent <SpacecraftController>();
        shipController.boostersList.Add(this);

        rb = transform.parent.GetComponent <Rigidbody>();
    }
Exemple #6
0
    // Start is called before the first frame update
    void Start()
    {
        rb = GetComponent <Rigidbody>();

        currentAngularVelo = targetTransform.InverseTransformDirection(rb.angularVelocity);
        currentAngularVelo = targetTransform.InverseTransformDirection(rb.angularVelocity);
        currentVelo        = transform.InverseTransformDirection(rb.velocity);
        neededMovingVector = calculateVelocity();
        spacecraft         = transform.GetComponent <SpacecraftController>();
    }
        void Start()
        {
            base.Start();
            controller = transform.GetComponentInParent<SpacecraftController>();

            var childsort = GetComponent<SpriteRenderer>().sortingOrder +2;
            foreach (var hp in GetComponentsInChildren<Hardpoint>())
            {
                if (hp.gameObject != gameObject)
                {
                    hp.GetComponent<SpriteRenderer>().sortingOrder = childsort;
                }
            }
        }
Exemple #8
0
 // Use this for initialization
 void OnEnable()
 {
     spacecraft = GetComponent <SpacecraftController>();
 }
 void Start()
 {
     spacecraft = GetComponent<SpacecraftController>();
 }
Exemple #10
0
 // Use this for initialization
 void Start()
 {
     rb         = transform.GetComponent <Rigidbody>();
     spacecraft = transform.GetComponent <SpacecraftController>();
 }
Exemple #11
0
 // Use this for initialization
 void Start()
 {
     shipController = GetComponent <SpacecraftController>();
 }
 public void Remove(SpacecraftController sc)
 {
     spacecraft.Remove(sc);
 }
 public void Add(SpacecraftController sc)
 {
     spacecraft.Add(sc);
 }