Beispiel #1
0
 private void Start()
 {
     bulletPool = new PrefabPool(bulletPrefab);
     // don't shoot right after spawning
     cooldown = TimeBetweenShots;
     avatar   = GetComponent <BaseAvatar>();
 }
Beispiel #2
0
    private void OnTriggerEnter2D(Collider2D other)
    {
        BaseAvatar avatar = null;

        switch (this.type)
        {
        case BulletType.PlayerSpiralBullet:
        case BulletType.PlayerBullet:
            avatar = other.gameObject.GetComponent <EnemyAvatar>();
            break;

        case BulletType.EnemyBullet:
            avatar = other.gameObject.GetComponent <PlayerAvatar>();
            break;

        default:
            Debug.LogError("Unknown bullet type " + this.type);
            break;
        }

        if (avatar != null)
        {
            avatar.TakeDamage(this.Damage);
            BulletFactory.Instance.Release(this);
        }
    }
 private void OnAvatarDeath(BaseAvatar baseAvatar)
 {
     if (baseAvatar.GetType() == typeof(PlayerAvatar) && !playerHasDied)
     {
         playerHasDied = true;
         OnGameOver();
     }
 }
Beispiel #4
0
 protected virtual void Start()
 {
     this.baseAvatar = this.GetComponent <BaseAvatar>();
     if (this.baseAvatar == null)
     {
         Debug.LogWarning(string.Format("Can't retrieve a base avatar on the gameobject {0}.", this.gameObject.name));
     }
 }
Beispiel #5
0
    private void OnTriggerEnter2D(Collider2D other)
    {
        BaseAvatar avatar = other.gameObject.GetComponent <BaseAvatar>();

        if (avatar != null)
        {
            avatar.TakeDamage(this.DamageDealthAtCollision);
            this.TakeDamage(avatar.DamageDealthAtCollision);
        }
    }
Beispiel #6
0
 // Use this for initialization
 void Start()
 {
     mySpawn            = GetComponent <Spawn>();
     myCorgi            = GameObject.FindGameObjectWithTag("Player").GetComponent <BaseAvatar>();
     myCanvas           = GameObject.FindGameObjectWithTag("UI").GetComponent <CanvasController>();
     myScore            = GetComponent <ScoreSystem>();
     wavesObjectif.text = "";
     UpdateNiveau();
     // UpdateTest();
     isPlaying = true;
 }
    public override void Apply()
    {
        target.StartCoroutine(ApplyOvertime(data.duration));
        targetAvatar = target.GetComponent <BaseAvatar>();
        targetAvatar.maxArmor.bonus += data.armorAdded;
        target.armor += data.armorAdded;

        effectObject = GameObject.Instantiate(data.effectPrefab, target.transform.position + Vector3.up, target.transform.rotation, target.transform);
        effectObject.GetComponent <NetworkTransformChild>().target = target.transform;
        NetworkServer.Spawn(effectObject);
        base.Apply();
    }
Beispiel #8
0
    private void Start()
    {
        this.baseAvatar = this.GetComponent <BaseAvatar>();
        if (this.baseAvatar == null)
        {
            Debug.LogWarning(string.Format("Can't retrieve a base avatar on the gameobject {0}.", this.gameObject.name));
        }

        // Positioning the gameobject at the center of the allowed zone.
        if (this.autoPositionAtStart)
        {
            this.Position = this.allowedZone.center;
        }
    }
Beispiel #9
0
    private void OnTriggerEnter2D(Collider2D other)
    {
        string tag = other.gameObject.tag;

        if (tag == "Bullet")
        {
            other.gameObject.SetActive(false);
            this.gameObject.SetActive(false);
        }
        else if (tag == "Player" || tag == "Enemy")
        {
            BaseAvatar avatar = other.GetComponent <BaseAvatar>();
            avatar.TakeDamage(damage);
            this.gameObject.SetActive(false);
        }
    }
Beispiel #10
0
    public void ApplyStatus(StatusFactory factory, BaseAvatar source)
    {
        if (currentEffects.Contains(factory))
        {
            return;
        }
        Status s = factory.GetStatus(this, source);

        currentEffects.Add(factory);
        s.OnUnapply += () => {
            Debug.Log("OnUnapply");
            currentEffects.Remove(factory);
            OnStatusRemoved(s);
        };
        s.Apply();
        OnStatusApplied(s);
    }
Beispiel #11
0
    public void SpawnEnemy()
    {
        GameObject newEnemyGameObj = null;
        BaseAvatar newEnemy        = null;

        if (this.enemies.Exists(b => !b.gameObject.activeSelf))
        {
            newEnemy = this.enemies.Find(b => !b.gameObject.activeSelf);
            newEnemy.gameObject.SetActive(true);
            newEnemy.Spawn(new Vector3(this.enemyPrefab.transform.position.x, Random.Range(-66.0f, 66.0f), 0), this.transform.rotation);
        }
        else
        {
            newEnemyGameObj = Instantiate(this.enemyPrefab, new Vector3(this.enemyPrefab.transform.position.x, Random.Range(-66.0f, 66.0f), 0), this.transform.rotation);
            newEnemy        = newEnemyGameObj.GetComponent <BaseAvatar>();
            this.enemies.Add(newEnemy);
        }
    }
Beispiel #12
0
    void OnTriggerEnter2D(Collider2D col)
    {
        BaseAvatar target = col.gameObject.GetComponent <BaseAvatar>();

        if (target && !(target.GetComponent <Engines>() && target.GetComponent <Engines>().Dashing))
        {
            if (target.tag == "Enemy" && ally)
            {
                target.TakeHit(damage, owner);
                Disappear();
            }

            if (target.tag == "Player" && !ally)
            {
                target.TakeHit(damage, owner);
                Disappear();
            }
        }
    }
Beispiel #13
0
    private void OnTriggerEnter2D(Collider2D collision)
    {
        BaseAvatar avatar = collision.gameObject.GetComponent <BaseAvatar>();

        if (avatar != null)
        {
            avatar.TakeDamage(Damage);
            BulletFactory.ReleaseBullet(this);
        }
        else
        {
            Bullet bullet = collision.gameObject.GetComponent <Bullet>();
            if (bullet != null)
            {
                BulletFactory.ReleaseBullet(this);
                BulletFactory.ReleaseBullet(bullet);
            }
        }
    }
    private void Start()
    {
        // Retrieve the player avatar of the game object.
        this.avatar = this.GetComponent <BaseAvatar>();

        if (this.avatar == null)
        {
            Debug.LogWarning("There is no avatar on the game object.");
        }

        // Hit particle system.
        this.hitParticleSystem = this.GetComponentInChildren <ParticleSystem>();

        if (this.hitParticleSystem == null)
        {
            Debug.LogWarning("There is no hit particle system on the game object.");
        }

        this.avatar.OnDamageTaken += this.Avatar_OnDamageTaken;
    }
    private void Awake()
    {
        /*
         * Instantiate(player);
         * Instantiate(fond1);
         * Instantiate(fond2);
         * Instantiate(canvas);
         * Instantiate(zone);*/

        mySpawn  = GetComponent <Spawn>();
        myCorgi  = GameObject.FindGameObjectWithTag("Player").GetComponent <BaseAvatar>();
        myCanvas = GameObject.FindGameObjectWithTag("UI").GetComponent <CanvasController>();
        myScore  = GetComponent <ScoreSystem>();
        mylevel  = GetComponent <Level>();
        Debug.Assert(mylevel != null);
        wavesObjectif.text = "";
        UpdateNiveau();
        // UpdateTest();
        isPlaying = true;
    }
Beispiel #16
0
    void OnTriggerEnter2D(Collider2D other)
    {
        //Selon la nature de la balle, on cible le joueur on l'ennemi
        BaseAvatar target = null;

        if (bulletType == BulletType.Player)
        {
            target = other.GetComponent <EnemyAvatar> ();
        }
        else if (bulletType == BulletType.EnnemyBullet)
        {
            target = other.GetComponent <PlayerAvatar> ();
        }
        //On blesse la cible acquise et on détruit la balle
        if (target)
        {
            target.TakeDamage(Damage);
            BulletFactory.Instance.Relase(gameObject.GetComponent <Bullet>());
        }
    }
Beispiel #17
0
    // Use this for initialization
    void Start()
    {
        if (_type == CombineType.combine_mesh)
        {
            _base_avater = new CombineMeshAvatar();
        }
        else if (_type == CombineType.share_skeleton)
        {
            _base_avater = new SkeletonAvatar();
        }
        else if (_type == CombineType.combine_mesh_material_1)
        {
            _base_avater = new CombineMeshAvatar();
        }
        else if (_type == CombineType.combine_mesh_material_2)
        {
            _base_avater = new Material2Avatar();
        }

        _base_avater.Init(pfb_skeleton);
    }
Beispiel #18
0
    public virtual void TakeDamage(float damage, BaseAvatar source)
    {
        if (IsDead)
        {
            return;
        }
        if (armor > 0)
        {
            float armorDamageTaken = damage - armor;
            if (armorDamageTaken > 0)
            {
                // if enough damage was dealt to bypass the current armor
                // destroy armor
                armor = 0;
                OnArmorBroken(damage);
                // damage health for the remainder
                currentHealth -= armorDamageTaken;
                OnHealthDamaged(armorDamageTaken);
            }
            else
            {
                // if armor absorbs all of the incoming damage, damage armor only
                armor -= damage;
                OnArmorDamaged(damage);
            }
        }
        else
        {
            currentHealth -= damage;
            OnHealthDamaged(damage);
        }

        OnDamaged(damage);
        if (currentHealth <= 0)
        {
            IsDead = true;
            OnDeath(damage);
            Die();
        }
    }
Beispiel #19
0
    /*public Vector2 Position
     * {
     *  get
     *  {
     *      return this.transform.position;
     *  }
     *
     *  set
     *  {
     *      this.transform.position = value;
     *  }
     * }*/

    // Use this for initialization
    void Start()
    {
        baseAvatar  = this.GetComponent <BaseAvatar>();
        myTransform = this.GetComponent <Transform>();
    }
Beispiel #20
0
 // Start is called before the first frame update
 void Start()
 {
     baseAvatar = GetComponent <BaseAvatar>();
     maxSpeed   = baseAvatar.MaxSpeed;
 }
Beispiel #21
0
    private BaseAvatar baseAvatar;      // Reference to the avatar script of the AI.

    // Use this for initialization.
    public void Start()
    {
        // Getting a reference to the AI avatar script. This will be used to update the position of the AI considering the speed.
        this.baseAvatar = this.GetComponent <BaseAvatar>();
    }
Beispiel #22
0
 public abstract Status GetStatus(Health target, BaseAvatar source);
Beispiel #23
0
 // Use this for initialization
 void Start()
 {
     myBase = GetComponent <BaseAvatar>();
 }
Beispiel #24
0
 private void Start()
 {
     _baseAvatar = GetComponent <BaseAvatar>();
     _sr         = GetComponent <SpriteRenderer>();
 }
Beispiel #25
0
 // Start is called before the first frame update
 void Start()
 {
     _baseAvatar = GetComponent <BaseAvatar>();
 }
Beispiel #26
0
    void Awake()
    {
        avatar = this.GetComponent <BaseAvatar>();

        speed = avatar.GetMaxSpeed();
    }
Beispiel #27
0
 // Start is called before the first frame update
 void Start()
 {
     baseAvatar = GetComponent <BaseAvatar>();
     maxSpeed   = baseAvatar.MaxSpeed;
     speed      = new Vector2(-0.1f, 0);
 }