예제 #1
0
    public void SetStats(StatsHolder stats)
    {
        transform.name     = stats.Name;
        this.circlingSpeed = stats.circlingSpeed;
        this.selfDestruct  = stats.selfDestruct;
        this.invunerable   = stats.invunerable;
        if (invunerable)         //Don't show healthbar for invunerable units (projectiles)
        {
            Destroy(UnityUtils.RecursiveFind(transform, "HealthBar").gameObject);
        }
        MoveTo(new RadialPosition(stats.spawnRadius, stats.spawnAngle));
        MovementSpeed     = stats.MovementSpeed;
        this.angularSpeed = stats.angularSpeed;
        Damage            = stats.Damage;
        Range             = stats.Range;
        Health            = stats.Health;
        MaxHealth         = stats.Health;
        Scale             = stats.Scale;
        Transform sprite = transform.Find("Sprite");

        sprite.transform.localScale *= stats.Scale;
        if (stats.Scale > 1)
        {
            Transform canvas = transform.Find("Canvas");
            canvas.localPosition = new Vector3(canvas.localPosition.x, canvas.localPosition.y * stats.Scale * 0.8f, canvas.localPosition.z);
        }
        if (stats.projectile == null)
        {
            this.projectile = EnemyFactory.Projectile(this.Damage);
        }
        else
        {
            this.projectile = stats.projectile;
        }
        this.attackFrequency = stats.attackDelay;
        this.zigZag          = stats.zigZag;
        if (stats.angularSpeed > 0)
        {
            this.zigZagAngleLow  = stats.spawnAngle;
            this.zigZagAngleHigh = stats.spawnAngle + stats.zigZagAngle;
        }
        else
        {
            this.zigZagAngleHigh = stats.spawnAngle;
            this.zigZagAngleLow  = stats.spawnAngle - stats.zigZagAngle;
        }
        colorModifier.SetDefaultColor(stats.Color);
        colorModifier.SetSelectedColor(Parameters.ENEMY_ATTACK_COLOR);
    }
예제 #2
0
    void Start()
    {
        radialFillControl = GameObject.FindObjectOfType <RadialFillControl> ();
        attackMaskControl = GameObject.FindObjectOfType <AttackMaskControl> ();
        int dictIndex = 1;

        foreach (BossAttack attack in AttackLists.chosenAttacksArray)
        {
            if (attack != null)
            {
                attackDict.Add(dictIndex, attack);
                dictIndex++;
            }
        }

        if (attackDict[1].frequency < Parameters.SLOW_ATTACK_LIMIT)
        {
            setAttack(1);
        }
        else
        {
            foreach (KeyValuePair <int, BossAttack> keyVal in attackDict)
            {
                if (keyVal.Value.frequency < Parameters.SLOW_ATTACK_LIMIT)
                {
                    setAttack(keyVal.Key);
                    break;
                }
            }
        }



        Transform aim = UnityUtils.RecursiveFind(transform, "Image");

        this.aimColorModifier = aim.GetComponent <ColorModifier>();
        aimColorModifier.SetDefaultColor(Parameters.AIM_DEFAULT_COLOR);
        aimColorModifier.SetSelectedColor(Parameters.AIM_DAMAGE_COLOR);

        UnityUtils.RecursiveFind(transform, "Image").GetComponent <Image>().color = Parameters.AIM_DEFAULT_COLOR;
    }
예제 #3
0
    void Start()
    {
        this.character1 = StaticCharacterHolder.characters [1 - 1];
        this.character2 = StaticCharacterHolder.characters [2 - 1];
        pauseMenu       = GameObject.Find("PauseMenu");
        pauseMenu.SetActive(false);
        timeUntilPressAnyKey  = 1.0f;
        pauseBackgroundToggel = GameObject.Find("PauseBackground").GetComponent <ColorModifier> ();
        pauseBackgroundToggel.SetDefaultColor(new Color32(0, 0, 0, 0));
        pauseBackgroundToggel.SetSelectedColor(new Color32(120, 120, 120, 160));
        healthBars = new ProgressBarBehaviour[StaticCharacterHolder.characters.Count];
        ProgressBarBehaviour character1HealthBar = GameObject.Find("Character1HealthBar").GetComponent <ProgressBarBehaviour> ();

        healthBars [0] = character1HealthBar;
        ProgressBarBehaviour character2HealthBar = GameObject.Find("Character2HealthBar").GetComponent <ProgressBarBehaviour> ();

        character2HealthBar.SetDirection(-1);          //Flip the health bar on the right.
        healthBars[1]   = character2HealthBar;
        winnerText      = GameObject.Find("WinnerText").GetComponent <Text> ();
        pressAnyKeyText = GameObject.Find("PressAnyKeyText").GetComponent <Text> ();
        gameOver        = false;
        paused          = false;
    }