Esempio n. 1
0
    /*
     * Local method :   ColorLerp - Private
     * Description  :   1)
     */
    private IEnumerator LerpColor(componentType type)
    {
        float elapsedTime = 0.0f;
        float totalTime   = 0.8f;

        while (elapsedTime < totalTime)
        {
            elapsedTime += Time.deltaTime;
            switch (type)
            {
            case componentType.Material:
                Material material   = GetComponent <Image>().material;
                Color32  startColor = Color32.Lerp(ColorManager.Instance.oldGradientStartColor, ColorManager.Instance.newGradientStartColor, (elapsedTime / totalTime));
                Color32  endColor   = Color32.Lerp(ColorManager.Instance.oldGradientEndColor, ColorManager.Instance.newGradientEndColor, (elapsedTime / totalTime));
                material.SetColor("_StartColor", startColor);
                material.SetColor("_EndColor", endColor);
                break;

            case componentType.Particle:
                ParticleSystem            particleSystem = GetComponent <ParticleSystem>();
                ParticleSystem.MainModule mainModule     = particleSystem.main;
                Color mainColorParticle = Color32.Lerp(ColorManager.Instance.oldMainColor, ColorManager.Instance.newMainColor, (elapsedTime / totalTime));
                mainModule.startColor = mainColorParticle;
                break;

            case componentType.Sprite:
                SpriteRenderer spriteRenderer = GetComponent <SpriteRenderer>();
                if (isCover)
                {
                    Color32 coverColorSprite = Color32.Lerp(ColorManager.Instance.oldCoverColor, ColorManager.Instance.newCoverColor, (elapsedTime / totalTime));
                    spriteRenderer.color = coverColorSprite;
                }
                else
                {
                    Color32 mainColorSprite = Color32.Lerp(ColorManager.Instance.oldMainColor, ColorManager.Instance.newMainColor, (elapsedTime / totalTime));
                    spriteRenderer.color = mainColorSprite;
                }
                break;

            case componentType.Image:
                Image image = GetComponent <Image>();
                if (proSens)
                {
                    bool isProActive = String.Equals(DataManager.Instance.pro, "faruk");
                    if (isProActive)
                    {
                        Color32 coverColorImage = Color32.Lerp(ColorManager.Instance.oldCoverColor, ColorManager.Instance.newCoverColor, (elapsedTime / totalTime));
                        image.color = coverColorImage;
                    }
                    else
                    {
                        Color32 mainColorImage = Color32.Lerp(ColorManager.Instance.oldMainColor, ColorManager.Instance.newMainColor, (elapsedTime / totalTime));
                        image.color = mainColorImage;
                    }
                }
                else
                {
                    Color32 mainColorImage = Color32.Lerp(ColorManager.Instance.oldMainColor, ColorManager.Instance.newMainColor, (elapsedTime / totalTime));
                    image.color = mainColorImage;
                }
                break;

            case componentType.Text:
                TextMeshProUGUI text          = GetComponent <TextMeshProUGUI>();
                Color32         mainColorText = Color32.Lerp(ColorManager.Instance.oldMainColor, ColorManager.Instance.newMainColor, (elapsedTime / totalTime));
                text.color = mainColorText;
                break;

            case componentType.Trail:
                TrailRenderer trail          = GetComponent <TrailRenderer>();
                Color32       mainColorTrail = Color32.Lerp(ColorManager.Instance.oldMainColor, ColorManager.Instance.newMainColor, (elapsedTime / totalTime));
                trail.startColor = mainColorTrail;
                trail.endColor   = mainColorTrail;
                break;

            default:
                break;
            }

            yield return(null);
        }
    }
Esempio n. 2
0
    /*
     * Local method :   ColorLerp - Private
     * Description  :   1)
     */
    private void InstantColor(componentType type, bool isDefault)
    {
        switch (type)
        {
        case componentType.Material:
            Material material = GetComponent <Image>().material;
            if (isDefault)
            {
                material.SetColor("_StartColor", ColorManager.Instance.oldGradientStartColor);
                material.SetColor("_EndColor", ColorManager.Instance.oldGradientEndColor);
            }
            else
            {
                material.SetColor("_StartColor", ColorManager.Instance.newGradientStartColor);
                material.SetColor("_EndColor", ColorManager.Instance.newGradientEndColor);
            }
            break;

        case componentType.Particle:
            ParticleSystem            particleSystem = GetComponent <ParticleSystem>();
            ParticleSystem.MainModule mainModule     = particleSystem.main;
            if (isDefault)
            {
                mainModule.startColor = (Color)ColorManager.Instance.oldMainColor;
            }
            else
            {
                mainModule.startColor = (Color)ColorManager.Instance.newMainColor;
            }
            break;

        case componentType.Sprite:
            SpriteRenderer spriteRenderer = GetComponent <SpriteRenderer>();
            if (isCover)
            {
                if (isDefault)
                {
                    spriteRenderer.color = ColorManager.Instance.oldCoverColor;
                }
                else
                {
                    spriteRenderer.color = ColorManager.Instance.newCoverColor;
                }
            }
            else
            {
                if (isDefault)
                {
                    spriteRenderer.color = ColorManager.Instance.oldMainColor;
                }
                else
                {
                    spriteRenderer.color = ColorManager.Instance.newMainColor;
                }
            }
            break;

        case componentType.Image:
            Image image = GetComponent <Image>();
            if (isCover)
            {
                if (isDefault)
                {
                    image.color = ColorManager.Instance.oldCoverColor;
                }
                else
                {
                    image.color = ColorManager.Instance.newCoverColor;
                }
            }
            else
            {
                if (proSens)
                {
                    bool isProActive = String.Equals(DataManager.Instance.pro, "faruk");

                    if (isProActive)
                    {
                        if (isDefault)
                        {
                            image.color = ColorManager.Instance.oldCoverColor;
                        }
                        else
                        {
                            image.color = ColorManager.Instance.newCoverColor;
                        }
                    }
                    else
                    {
                        if (isDefault)
                        {
                            image.color = ColorManager.Instance.oldMainColor;
                        }
                        else
                        {
                            image.color = ColorManager.Instance.newMainColor;
                        }
                    }
                }
                else
                {
                    if (isDefault)
                    {
                        image.color = ColorManager.Instance.oldMainColor;
                    }
                    else
                    {
                        image.color = ColorManager.Instance.newMainColor;
                    }
                }
            }
            break;

        case componentType.Text:
            TextMeshProUGUI text = GetComponent <TextMeshProUGUI>();
            if (isDefault)
            {
                text.color = ColorManager.Instance.oldMainColor;
            }
            else
            {
                text.color = ColorManager.Instance.newMainColor;
            }
            break;

        case componentType.Trail:
            TrailRenderer trail = GetComponent <TrailRenderer>();
            if (isDefault)
            {
                trail.startColor = ColorManager.Instance.oldMainColor;
                trail.endColor   = ColorManager.Instance.oldMainColor;
            }
            else
            {
                trail.startColor = ColorManager.Instance.newMainColor;
                trail.endColor   = ColorManager.Instance.newMainColor;
            }
            break;

        default:
            break;
        }
    }
Esempio n. 3
0
    // Use this for initialization
    void Awake()
    {
        gameCamera         = GameObject.Find("Main Camera").GetComponent <Camera>();
        ship               = new Ship(shipType, maxHealth, shipSpeed);
        ship.dodgeSpeed    = dodgeSpeed;
        ship.dodgeLength   = dodgeLength;
        ship.weapons [0]   = Weapon.createBasicEnemyWeapon();
        ship.isComponent   = isComponent;
        ship.componentType = componentType;
        //instantiate weapons based on ship type

        switch (shipType)
        {
        case shipType.fighter:
            break;

        case shipType.frigate:
            ship.weapons [0] = Weapon.createFrigateSpreadWeapon();
            break;
        }

        if (componentCount > 0)
        {
            //spawn in components

            string resourcePath = "";

            switch (shipType)
            {
            case shipType.frigate:
                resourcePath = "frigate_components/";
                break;
            }

            //right now we only support 2 components per ship - 1 left and 1 right
            var           values = componentType.GetValues(typeof(componentType));
            componentType left   = (componentType)values.GetValue(Random.Range(0, values.Length));
            componentType right  = (componentType)values.GetValue(Random.Range(0, values.Length));

            //totally janky
            Object LeftComponent = Resources.Load(resourcePath + "left_" + left.ToString());
            components.Add(LeftComponent);

            Object RightComponent = Resources.Load(resourcePath + "right_" + right.ToString());
            components.Add(RightComponent);

            foreach (Object component in components)
            {
                //initialize component properties
                GameObject newComponent = Instantiate(component) as GameObject;
                newComponent.GetComponent <EnemyFighterAI> ().isComponent = true;
                newComponent.transform.parent = this.transform;

                switch (newComponent.GetComponent <EnemyFighterAI> ().componentType)
                {
                case componentType.shield:
                    shipType   type      = this.ship.shipType;
                    Object     shield    = null;
                    GameObject newShield = null;

                    switch (type)
                    {
                    case shipType.frigate:
                        shield = Resources.Load(resourcePath + "shield");
                        break;
                    }

                    newShield = Instantiate(shield) as GameObject;
                    newShield.transform.parent = newComponent.transform;
                    //set sheild and generator to both have null weapons
                    newShield.GetComponent <EnemyFighterAI> ().ship.weapons = null;
                    this.weapons = null;

                    break;

                case componentType.missile:
                    newComponent.GetComponent <EnemyFighterAI> ().ship.weapons [0] = Weapon.createBasicEnemymissile();
                    break;

                case componentType.rail:
                    newComponent.GetComponent <EnemyFighterAI> ().ship.weapons [0] = Weapon.createBasicEnemyRail();
                    break;
                }

                //if its a right component change the weapon offset to be -x
                if (newComponent.name.Contains("left") && newComponent.GetComponent <EnemyFighterAI> ().ship.weapons.Length > 0)
                {
                    foreach (Weapon weapon in newComponent.GetComponent <EnemyFighterAI> ().ship.weapons)
                    {
                        if (weapon != null)
                        {
                            foreach (FireStream firestream in weapon.fireStreams)
                            {
                                firestream.offset = new Vector3(-firestream.offset.x, firestream.offset.y);
                            }
                        }
                    }
                }
            }
        }
    }