Esempio n. 1
0
    public GameObject TryInstantiateGameObject(ItemGenerationProbabilityDataModel probabilityDataModel, LevelGenerationDataModel levelGenerationDataModel, GameObject container, bool isDeltaRegen = false)
    {
        GameObject instantiatedObject = null;
        var        rnd         = UnityEngine.Random.Range(0f, 1f);
        var        probability = isDeltaRegen ? probabilityDataModel.RegenerateProbabilty : probabilityDataModel.Probability;

        //check luck to instantiate object in the map
        if (rnd < probability)
        {
            //get random variant
            var variantIndex      = UnityEngine.Random.Range(0, probabilityDataModel.GameObjectVariants.Count);
            var gameObjectVariant = probabilityDataModel.GameObjectVariants[variantIndex];

            //get random x position withing the map size
            var randomX = UnityEngine.Random.Range(levelGenerationDataModel.LeftEdge, levelGenerationDataModel.RightEdge);


            //instantiate game object in random x position
            instantiatedObject = Instantiate(probabilityDataModel.GameObjectVariants[variantIndex],
                                             new Vector3(randomX, gameObjectVariant.transform.position.y, gameObjectVariant.transform.position.z),
                                             Quaternion.identity, container.transform);

            var gameStaticObject = instantiatedObject.GetComponent <GameStaticObject>();
            gameStaticObject.Type = probabilityDataModel.Type;
        }

        return(instantiatedObject);
    }
Esempio n. 2
0
 private GameObject TryCreateItem(ItemGenerationProbabilityDataModel probModel)
 {
     // Debug.Log("-- -- -- Trying the create item for this model: " + probModel.Type.ToString());
     return(sideScrollMap.TryInstantiateGameObject(probModel, levelGenerationDataModel, objectsContainer, true));
 }