Esempio n. 1
0
    // Spawns animation if the hex is a biome
    private void SpawnDeathAnimation()
    {
        //if(!DataTypes.IsBiome(hexData.hexType)) return;


        GameObject deathAnimInstance;

        // PoolManager poolManager = GameManage.instance.GetComponent<PoolManager>();
        // deathAnimInstance = poolManager.GetObjectByName("HexExplode");
        // if(poolManager != null && poolManager.isActiveAndEnabled && deathAnimInstance != null) {
        //     deathAnimInstance.transform.SetPositionAndRotation(transform.position, transform.rotation);
        // } else {
        deathAnimInstance = Instantiate(hexExplodeAnimPrefab, transform.position, transform.rotation);
        //deathAnimInstance.GetComponentInChildren<HexDeathAnimation>().setHexData(hexData);
        // }

        if (DataTypes.IsBiome(hexData.hexType))
        {
            deathAnimInstance.GetComponent <SpriteRenderer>().color = GetComponent <SpriteRenderer>().color;                                             //DataTypes.GetBackgroundColorFrom(DataTypes.GetBiomeFrom(hexData.hexType));
            deathAnimInstance.transform.GetChild(0).GetComponent <SpriteRenderer>().color = transform.GetChild(1).GetComponent <SpriteRenderer>().color; //DataTypes.GetAccentColorFrom(DataTypes.GetBiomeFrom(hexData.hexType));
        }
        else
        {
            deathAnimInstance.GetComponent <SpriteRenderer>().color = DataTypes.GetAccentColorFrom(DataTypes.GetBiomeFrom(hexData.hexType));
            deathAnimInstance.transform.GetChild(0).GetComponent <SpriteRenderer>().color = Color.black;
        }
    }
Esempio n. 2
0
    private IEnumerator StartTransition(int levelId)
    {
        yield return(StartCoroutine(unloadList()));

        GameObject biomeIcon = getMainBiomeIcon();

        if (biomeIcon != null)
        {
            Vector2 sizeDelta = ((RectTransform)biomeIcon.transform).sizeDelta;

            GetComponent <CanvasGroup>().alpha = 0;
            BiomeIconsContent.GetComponent <CanvasGroup>().alpha = 0;
            MainButtons.GetComponent <CanvasGroup>().alpha       = 0;

            GetComponent <CanvasGroup>().interactable = false;
            BiomeIconsContent.GetComponent <CanvasGroup>().interactable = false;
            MainButtons.GetComponent <CanvasGroup>().interactable       = false;

            GameObject biomeIconCopy = Instantiate(IconPrefab, biomeIcon.transform.position, biomeIcon.transform.rotation, MasterManager.instance.masterCanvas.transform);
            MasterManager.instance.transitionIconObject = biomeIconCopy;
            biomeIconCopy.GetComponent <TransitionIcon>().setBackground(curBiome);
            biomeIconCopy.GetComponentInChildren <Text>().text          = levelId >= 0 ? "Level " + levelId : "?";
            biomeIconCopy.GetComponentInChildren <Shadow>().effectColor = DataTypes.GetAccentColorFrom(curBiome);

            RectTransform rectTransform = ((RectTransform)biomeIconCopy.transform);
            rectTransform.sizeDelta = sizeDelta;

            RectTransform maskTransform       = ((RectTransform)biomeIconCopy.transform.GetChild(0).GetChild(0).transform);
            RectTransform backgroundTransform = ((RectTransform)biomeIconCopy.transform.GetChild(0).GetChild(0).GetChild(0).transform);
            backgroundTransform.anchorMin = Vector2.one * 0.5f;
            backgroundTransform.anchorMax = Vector2.one * 0.5f;


            Sequence expandLevelIcon = DOTween.Sequence();
            yield return(expandLevelIcon
                         .Append(backgroundTransform.DOSizeDelta(new Vector2(2149, 3200), 0.5f))
                         // .Append(rectTransform.DOSizeDelta(new Vector2(2149, 3200), 0.5f))
                         .Join(rectTransform.DOAnchorPos(Vector2.zero, 0.5f))
                         .Join(maskTransform.DOSizeDelta(new Vector2(2000, 2000), 0.5f))
                         .WaitForCompletion());
        }

        MasterPlayerData.instance.setLastLevelPlayed(curBiome, levelId);

        GenericDictionary level = new GenericDictionary();

        level.Add("levelId", (object)levelId);
        level.Add("biome", (object)curBiome);
        MasterManager.instance.SwitchSceneTo("Game", level);
    }
Esempio n. 3
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;
    }