Beispiel #1
0
    public EnnemyBehaviour CreateObject()
    {
        bool isThereAnError = false;

        if (pool == null)
        {
            isThereAnError = true;
        }
        else if (pool.Length == 0)
        {
            isThereAnError = true;
        }
        if (isThereAnError)
        {
            Debug.LogWarning("Error : invalid bullet pool");
            return(null);
        }


        EnnemyBehaviour result = null;

        for (int i = 0; i < pool.Length; i++)
        {
            if (pool[i].isAvailable)
            {
                result = pool[i];
                break;
            }
        }



        result.isAvailable = false;
        return(result);
    }
Beispiel #2
0
 public void HitByEnnemy(EnnemyBehaviour Ennemy)
 {
     CurrentScore += (((int)(Ennemy.GetCarType()) + 1)) * 100;
     if (!DamageLogic(Ennemy.GetValueDmg()))
     {
         //EndGame
         UIGameplayManager.Instance.ShowEndScreen();
     }
 }
Beispiel #3
0
 public bool IsNearCar(EnnemyBehaviour ennemyBehaviour)
 {
     if (ennemyBehaviour == null || ennemyBehaviour.CurrentBody == null)
     {
         return(false);
     }
     else
     {
         return(_entityPlacementManager.IsNearCar(ennemyBehaviour));
     }
 }
Beispiel #4
0
    public EnnemyBehaviour GetFrontCar(EnnemyBehaviour ennemyBehaviour)
    {
        int indexColumn = Mathf.CeilToInt(ennemyBehaviour.ColumnCarIndex / 2f);
        var item        = EntitiesPlacement[indexColumn].Find(element => element.RefEntity == ennemyBehaviour);

        if (item == null)
        {
            return(null);
        }
        else
        {
            return(item.RefNearEntities[1]);
        }
    }
Beispiel #5
0
    public float GetCarFrontSpeed(EnnemyBehaviour ennemyBehaviour)
    {
        int indexColumn = Mathf.CeilToInt(ennemyBehaviour.ColumnCarIndex / 2f);
        var item        = EntitiesPlacement[indexColumn].Find(element => element.RefEntity == ennemyBehaviour);

        if (item == null)
        {
            return(0f);
        }
        else
        {
            return(item.RefNearEntities[1] != null ? item.RefNearEntities[1].GetSpeed() : 0f);
        }
    }
Beispiel #6
0
    public bool IsNearCar(EnnemyBehaviour ennemyBehaviour)
    {
        int indexColumn = Mathf.CeilToInt(ennemyBehaviour.ColumnCarIndex / 2f);
        var item        = EntitiesPlacement[indexColumn].Find(element => element.RefEntity == ennemyBehaviour);

        if (item == null)
        {
            return(false);
        }
        else
        {
            return(item.RefNearEntities[1] != null && item.RefNearEntities[1].CurrentBody != null ?
                   item.RefNearEntities[1].CurrentBody.transform.position.z - ennemyBehaviour.CurrentBody.transform.position.z <= 25 :
                   false);
        }
    }
Beispiel #7
0
    private void OnTriggerEnter2D(Collider2D collider)
    {
        //Debug.Log("TRIGGER ENTER KILLABLEBYBLOC");
        GameObject go = collider.gameObject;

        if (go)
        {
            if (go.GetComponent <BasePlateform>())
            {
                EnnemyBehaviour behaviour = GetComponent <EnnemyBehaviour>();
                if (behaviour)
                {
                    behaviour.Kill();
                }
            }
        }
    }
    public static void BrowseSceneAndDoStuff()
    {
        GameObject[] all = (GameObject[])GameObject.FindObjectsOfType(typeof(GameObject));

        for (int i = 0; i < all.Length; i++)
        {
            if (!all[i].GetComponent <EnnemyBehaviour>())
            {
                continue;
            }
            EnnemyBehaviour eb = all[i].GetComponent <EnnemyBehaviour>();
            EnemyPath       ep = GameObject.FindObjectOfType(typeof(EnemyPath)) as EnemyPath;
            eb.pathFollow = ep;

            EditorUtility.SetDirty(eb);
        }

        Debug.Log("done successfully!");
    }
Beispiel #9
0
    /// <summary>
    ///		Behaviour of the slow process
    /// </summary>
    /// <param name="DurationSlow"></param>
    /// <returns></returns>
    private IEnumerator ApplySlowBehaviour(float DurationSlow)
    {
        float           begSpeed = _data.CarData.CurrentSpeedZ;
        EnnemyBehaviour target   = EnnemyManager.Instance.GetFrontCar(this);

        if (target == null)
        {
            yield break;
        }
        for (float t = 0f, perc = 0f; perc < 1f; t += Time.deltaTime)
        {
            perc = Mathf.Clamp01(t / DurationSlow);
            _data.CarData.CurrentSpeedZ = Mathf.Lerp(begSpeed, target.GetSpeed(), perc);
            yield return(null);
        }
        while (target != null)
        {
            _data.CarData.CurrentSpeedZ = target.GetSpeed();
            yield return(null);
        }
        _slowBehaviour = null;
    }
Beispiel #10
0
 public void DestroyObject(EnnemyBehaviour ennemyToDestroy)
 {
     ennemyToDestroy.Die();
 }
Beispiel #11
0
 public EnnemyBehaviour GetFrontCar(EnnemyBehaviour ennemyBehaviour)
 {
     return(_entityPlacementManager.GetFrontCar(ennemyBehaviour));
 }
Beispiel #12
0
 public float GetCarFrontSpeed(EnnemyBehaviour ennemyBehaviour)
 {
     return(_entityPlacementManager.GetCarFrontSpeed(ennemyBehaviour));
 }
Beispiel #13
0
 public void AddEntity(EnnemyBehaviour Entity)
 {
     EntitiesPlacement[Mathf.CeilToInt(Entity.ColumnCarIndex / 2f)].Add(new EntityPlacement(Entity));
 }
Beispiel #14
0
 public EntityPlacement(EnnemyBehaviour RefEntity)
 {
     this.RefEntity  = RefEntity;
     RefNearEntities = new EnnemyBehaviour[6];
 }