示例#1
0
 public static bool isElement(DataTypes.HexType type)
 {
     return(type == DataTypes.HexType.Growth ||
            type == DataTypes.HexType.Earth ||
            type == DataTypes.HexType.Poison ||
            type == DataTypes.HexType.Fire ||
            type == DataTypes.HexType.Water ||
            type == DataTypes.HexType.Shadow);
 }
    // Use this for initialization
    void Start()
    {
        biome = DataTypes.HexType.Fire;


                #if UNITY_EDITOR
        MasterManager.instance.SetCurrentSceneDEBUG("LevelSelect");
                #endif
    }
示例#3
0
 void switchHexType(DataTypes.HexType hexType)
 {
     hexData.hexType = hexType;
     gameObject.GetComponent <HexBuilder>().needsUpdate = true;
     if (hexType == DataTypes.HexType.Growth)
     {
         setHealth(3);
     }
 }
示例#4
0
    public static LevelData GenerateLevel(DataTypes.BiomeType biome)
    {
        LevelData levelData = new LevelData()
        {
            levelId          = -1,
            levelName        = "RandomLevel",
            biomeType        = biome,
            gridCellSize     = new Vector3(1.2f, 1, 1),
            gridCellPosition = Vector3.zero,
            pointMultiplier  = 1,
            isBossLevel      = false,
            movementType     = BossMovement.None
        };


        int childCount = (int)(55f / chanceOfSpawn);//UnityEngine.Random.Range(30, 12 * 26);

        Debug.Log("childCount" + childCount);
        for (int i = 0; i < childCount; i++)
        {
            if (UnityEngine.Random.value > chanceOfSpawn || Mathf.FloorToInt((float)i / (float)xRange) - 5 > 13)
            {
                continue;
            }

            hexType = getBiomeHexType(biome, 0.15f);//getRandomHexType();

            if (DataTypes.IsBiome(hexType))
            {
                health = Mathf.FloorToInt(UnityEngine.Random.Range(1, 4));
            }
            else if (hexType == DataTypes.HexType.Growth)
            {
                health = 3;
            }
            else
            {
                health = 1;
            }

            HexData hexData = new HexData()
            {
                hexType        = hexType,
                health         = health,
                points         = 50,
                hexScaleFactor = Vector3.one,
                cellLocation   = getCellLocation(i)
            };
            levelData.hexData.Add(hexData);
        }

        return(levelData);
    }
示例#5
0
    private static DataTypes.HexType getRandomHexType()
    {
        DataTypes.HexType hex = DataTypes.HexType.Default;

        for (int i = 0; i < 25; i++)
        {
            if (hex == DataTypes.HexType.Test || hex == DataTypes.HexType.Default)
            {
                hex = (DataTypes.HexType)Mathf.FloorToInt(UnityEngine.Random.Range(0, Enum.GetValues(typeof(DataTypes.HexType)).Length - 1));
            }
            else
            {
                i = 25;
            }
        }

        return(hex);
    }
示例#6
0
 public void setHexType(DataTypes.HexType type)
 {
     hexData.hexType = type;
     GetComponent <HexBuilder>().needsUpdate = true;
 }
示例#7
0
    private void AssignAttributes()
    {
        SpriteRenderer spriteR = gameObject.GetComponent <SpriteRenderer>();
        Hex            hex     = gameObject.GetComponent <Hex>();

        DataTypes.HexType hexType = gameObject.GetComponent <Hex>().getHexType();

        HexBuilderData hexBuilderData = GetHexBuilderDataFrom(hexType);

        // Change this to change sprite based on health
        if (hexBuilderData != null)
        {
            spriteR.sprite = hexBuilderData.sprite;

            if (DataTypes.IsBiome(hex.getHexType()))
            {
                //Trying new artstyle
                healthSprite.sprite = getHexRedoneInnerSprite(hex.getHealth());
                spriteR.sprite      = getHexRedoneOuterSprite(hex.getHealth());

                healthSprite.color = DataTypes.GetAccentColorFrom(DataTypes.GetBiomeFrom(hex.getHexType()));

                if (!overrideColor)
                {
                    spriteR.color = DataTypes.GetBackgroundColorFrom(DataTypes.GetBiomeFrom(hex.getHexType()));
                }

                healthSprite.enabled = true;
                spriteR.material     = basic;

                if (DataTypes.GetBiomeFrom(hex.getHexType()) == DataTypes.BiomeType.Fire)
                {
                    hex.transform.GetChild(0).GetComponent <SpriteRenderer>().color = Colors.FireShadowColor;
                }
                else if (DataTypes.GetBiomeFrom(hex.getHexType()) == DataTypes.BiomeType.Poison)
                {
                    hex.transform.GetChild(0).GetComponent <SpriteRenderer>().color = Colors.PoisonShadowColor;
                }
            }
            else if (hex.getHexType() == DataTypes.HexType.HighPointGrowth)
            {
                spriteR.color    = DataTypes.GetAccentColorFrom(DataTypes.BiomeType.Growth);
                spriteR.material = crystal;
            }
            else
            {
                healthSprite.enabled = false;
                spriteR.material     = crystal;
            }

            if (hexBuilderData.pointValue > -1)
            {
                hex.setPointValue(hexBuilderData.pointValue);
            }

            if (hexBuilderData.onBreak != null)
            {
                hex.onBreak = hexBuilderData.onBreak;
            }
        }
        else
        {
            spriteR.sprite = defaultHexSprite;
        }

        needsUpdate = false;
    }
示例#8
0
 HexBuilderData GetHexBuilderDataFrom(DataTypes.HexType hexType)
 {
     return(builderData.Find(x => x.hexType == hexType));
 }
 void changeBiome(DataTypes.HexType biome)
 {
     this.biome = biome;
 }