// Creates a fireball, and launches it
    private void ShootFireball()
    {
        GameObject newFireball = Instantiate(m_fireBall, this.transform) as GameObject;

        FireBehavior fireBallBehavior = newFireball.GetComponent <FireBehavior>();

        if (fireBallBehavior != null)
        {
            // Lauches the fireball upward
            // (Vector2 represents a direction in x and y ;
            // so Vector2(0f, 1f) is a direction of 0 in x and 1 in y (up)
            if (m_direction == CardinalDirections.CARDINAL_N)
            {
                fireBallBehavior.Launch(new Vector2(0f, 1f));
            }
            if (m_direction == CardinalDirections.CARDINAL_E)
            {
                fireBallBehavior.Launch(new Vector3(1f, 0f));
            }
            if (m_direction == CardinalDirections.CARDINAL_W)
            {
                fireBallBehavior.Launch(new Vector4(-1f, 0f));
            }
            if (m_direction == CardinalDirections.CARDINAL_S)
            {
                fireBallBehavior.Launch(new Vector2(0f, -1f));
            }
        }
    }
    // Creates a fireball, and launches it
    private void ShootFireball()
    {
        GameObject newFireball = Instantiate(m_fireBall, this.transform) as GameObject;

        FireBehavior fireBallBehavior = newFireball.GetComponent <FireBehavior>();

        if (fireBallBehavior != null)
        {
            // Lauches the fireball upward
            // (Vector2 represents a direction in x and y ;
            // so Vector2(0f, 1f) is a direction of 0 in x and 1 in y (up)
            fireBallBehavior.Launch(new Vector2(0f, 1f));
        }
    }
示例#3
0
    // Creates a fireball, and launches it
    private void ShootFireball()
    {
        GameObject newFireball = Instantiate(m_fireBall, this.transform) as GameObject;

        FireBehavior fireBallBehavior = newFireball.GetComponent <FireBehavior>();

        GameObject player = GameObject.Find("Player");

        Vector3 v = (player.transform.position - this.transform.position).normalized;

        Vector2 dir = v;

        if (fireBallBehavior != null)
        {
            fireBallBehavior.Launch(dir);
        }
    }
示例#4
0
    // Use this for initialization
    void Start()
    {
        GameManager.onGameStartEvent  += EnableDragon;
        GameManager.onDragonWinEvent  += Celebrate;
        GameManager.onKnightsSetEvent += SetHealth;

        bodyHealthManager   = bodyHealthManagerObject.GetComponent <HealthManager>();
        headHealthManager   = headHealthManagerObject.GetComponent <HealthManager>();
        fireBehavior        = GetComponent <FireBehavior>();
        stringBreakBehavior = GetComponent <StringBreakBehavior>();
        takeDamageBehaviors = GetComponentsInChildren <TakeDamageBehavior>();
        soundManager        = GetComponent <SoundManager>();
        rigidBody           = bodyRigidbody;
        float previousHealth = bodyHealthManager.currentHealth;

        //ChangeState(State.Prone);
        //Invoke("Die", 2);
    }
 void Start()
 {
     chase = GetComponent <ChaseBehavior>();
     fire  = GetComponent <FireBehavior>();
     enemy = GetComponent <Enemy>();
 }
示例#6
0
    private void SetPresetValues(FireBehavior thisTarget)
    {
        switch (chosenPreset)
        {
        case presetList.CampFire:
            thisTarget.fireIntensity     = 0.06f;
            thisTarget.frequency         = 1f;
            thisTarget.windSimulation    = true;
            thisTarget.windFrequency     = 0.1f;
            thisTarget.windStrength      = 1.57f;
            thisTarget.moveAround        = true;
            thisTarget.moveDistance      = 0.077f;
            thisTarget.dualMode          = true;
            thisTarget.dualFireIntensity = 0.074f;
            thisTarget.dualFrequency     = 0.57f;
            thisTarget.randomDual        = false;
            thisTarget.mode1Time         = 2.3f;
            thisTarget.mode2Time         = 1.4f;
            break;

        case presetList.Candle:
            thisTarget.fireIntensity     = 0.021f;
            thisTarget.frequency         = 0.26f;
            thisTarget.windSimulation    = true;
            thisTarget.windFrequency     = 0.034f;
            thisTarget.windStrength      = 1.78f;
            thisTarget.moveAround        = true;
            thisTarget.moveDistance      = 0.024f;
            thisTarget.dualMode          = true;
            thisTarget.dualFireIntensity = 0.045f;
            thisTarget.dualFrequency     = 0.22f;
            thisTarget.randomDual        = false;
            thisTarget.mode1Time         = 5f;
            thisTarget.mode2Time         = 1f;
            break;

        case presetList.Torch:
            thisTarget.fireIntensity     = 0.1f;
            thisTarget.frequency         = 1f;
            thisTarget.windSimulation    = true;
            thisTarget.windFrequency     = 0.058f;
            thisTarget.windStrength      = 2.1f;
            thisTarget.moveAround        = true;
            thisTarget.moveDistance      = 0.163f;
            thisTarget.dualMode          = true;
            thisTarget.dualFireIntensity = 0.091f;
            thisTarget.dualFrequency     = 0.5f;
            thisTarget.randomDual        = true;
            thisTarget.changeFrequency   = 2f;
            thisTarget.chanceOfSwitch    = 0.5f;
            break;

        case presetList.WildFire:
            thisTarget.fireIntensity     = 0.069f;
            thisTarget.frequency         = 1f;
            thisTarget.windSimulation    = true;
            thisTarget.windFrequency     = 0.088f;
            thisTarget.windStrength      = 2.3f;
            thisTarget.moveAround        = true;
            thisTarget.moveDistance      = 0.25f;
            thisTarget.dualMode          = true;
            thisTarget.dualFireIntensity = 0.091f;
            thisTarget.dualFrequency     = 0.26f;
            thisTarget.randomDual        = true;
            thisTarget.changeFrequency   = 2.6f;
            thisTarget.chanceOfSwitch    = 0.44f;
            break;

        default:
            Debug.LogError("ERROR: Unrecognized value in chosenPreset");
            break;
        }
    }
示例#7
0
    public override void OnInspectorGUI()
    {
        FireBehavior thisTarget = (FireBehavior)target;

        EditorGUILayout.Space();

        //General Properties
        EditorGUILayout.LabelField("General Properties", EditorStyles.boldLabel);
        thisTarget.fireIntensity = EditorGUILayout.Slider("Fire Strength", thisTarget.fireIntensity, 0.01f, 0.10f);
        thisTarget.frequency     = EditorGUILayout.Slider("Strength Frequency", thisTarget.frequency, 0.01f, 1.00f);
        EditorGUILayout.Space();


        //Dual Properties
        EditorGUILayout.LabelField("Dual Strength Properties", EditorStyles.boldLabel);
        thisTarget.dualMode = EditorGUILayout.Toggle("Dual Strength", thisTarget.dualMode);

        if (thisTarget.dualMode)
        {
            thisTarget.dualFireIntensity = EditorGUILayout.Slider("Fire Strength 2", thisTarget.dualFireIntensity, 0.01f, 0.10f);
            thisTarget.dualFrequency     = EditorGUILayout.Slider("Strength Frequency 2", thisTarget.dualFrequency, 0.01f, 1.00f);
            EditorGUILayout.Space();
            thisTarget.randomDual = EditorGUILayout.Toggle("Random Dual Mode", thisTarget.randomDual);
            EditorGUI.indentLevel++;
            if (thisTarget.randomDual)
            {
                thisTarget.randomDual      = true;
                thisTarget.changeFrequency = EditorGUILayout.Slider("Minimum Time", thisTarget.changeFrequency, 0.01f, 10.00f);
                thisTarget.chanceOfSwitch  = EditorGUILayout.Slider("Chance To Switch", thisTarget.chanceOfSwitch, 0.01f, 1.00f);
            }
            else
            {
                thisTarget.randomDual = false;
                thisTarget.mode1Time  = EditorGUILayout.Slider("Time In Mode 1", thisTarget.mode1Time, 0.01f, 10.00f);
                thisTarget.mode2Time  = EditorGUILayout.Slider("Time In Mode 2", thisTarget.mode2Time, 0.01f, 10.00f);
            }
            EditorGUI.indentLevel--;
        }

        EditorGUILayout.Space();

        //Wind Properties
        EditorGUILayout.LabelField("Flicker Porperties", EditorStyles.boldLabel);
        thisTarget.windSimulation = EditorGUILayout.Toggle("Flicker simulation", thisTarget.windSimulation);
        if (thisTarget.windSimulation)
        {
            thisTarget.windFrequency = EditorGUILayout.Slider("Flicker Frequency", thisTarget.windFrequency, 0.01f, 0.10f);
            thisTarget.windStrength  = EditorGUILayout.Slider("Flicker Strength", thisTarget.windStrength, 1.01f, 2.30f);
        }
        EditorGUILayout.Space();


        //Move Properties
        EditorGUILayout.LabelField("Move Properties", EditorStyles.boldLabel);
        thisTarget.moveAround = EditorGUILayout.Toggle("Move Around", thisTarget.moveAround);
        if (thisTarget.moveAround)
        {
            thisTarget.moveDistance = EditorGUILayout.Slider("Move Distance", thisTarget.moveDistance, 0.01f, 0.25f);
        }

        EditorGUILayout.Space();
        //Presets
        EditorGUILayout.LabelField("Presets", EditorStyles.boldLabel);
        chosenPreset = (presetList)EditorGUILayout.EnumPopup("Chose Preset:", chosenPreset);
        if (GUILayout.Button("Use Chosen Preset"))
        {
            SetPresetValues(thisTarget);
        }
    }
    // Creates a fireball, and launches it
    private void ShootFireball(char key)
    {
        if (h_color == HeroColor.NONE)
        {
            GameObject newFireball = Instantiate(m_fireBall, this.transform) as GameObject;

            FireBehavior fireBallBehavior = newFireball.GetComponent <FireBehavior>();

            if (fireBallBehavior != null)
            {
                if (key == 'z')
                {
                    fireBallBehavior.Launch(new Vector2(0f, 1f));
                }
                if (key == 's')
                {
                    fireBallBehavior.Launch(new Vector2(0f, -1f));
                }
                if (key == 'd')
                {
                    fireBallBehavior.Launch(new Vector2(1f, 0f));
                }
                if (key == 'q')
                {
                    fireBallBehavior.Launch(new Vector2(-1f, 0f));
                }
            }
        }
        else if (h_color == HeroColor.RED)
        {
            if (key == 'z')
            {
                GameObject newFireball = Instantiate(m_REDfrontFireBall, this.transform) as GameObject;

                FireBehavior fireBallBehavior = newFireball.GetComponent <FireBehavior>();

                if (fireBallBehavior != null)
                {
                    fireBallBehavior.Launch(new Vector2(0f, 1f));
                }
            }
            if (key == 's')
            {
                GameObject newFireball = Instantiate(m_REDbackFireBall, this.transform) as GameObject;

                FireBehavior fireBallBehavior = newFireball.GetComponent <FireBehavior>();

                if (fireBallBehavior != null)
                {
                    fireBallBehavior.Launch(new Vector2(0f, -1f));
                }
            }
            if (key == 'd')
            {
                GameObject newFireball = Instantiate(m_REDrightFireBall, this.transform) as GameObject;

                FireBehavior fireBallBehavior = newFireball.GetComponent <FireBehavior>();

                if (fireBallBehavior != null)
                {
                    fireBallBehavior.Launch(new Vector2(1f, 0f));
                }
            }
            if (key == 'q')
            {
                GameObject newFireball = Instantiate(m_REDleftFireBall, this.transform) as GameObject;

                FireBehavior fireBallBehavior = newFireball.GetComponent <FireBehavior>();

                if (fireBallBehavior != null)
                {
                    fireBallBehavior.Launch(new Vector2(-1f, 0f));
                }
            }
        }
        if (h_color == HeroColor.GREEN)
        {
            if (key == 'z')
            {
                GameObject newFireball = Instantiate(m_GREENfrontFireBall, this.transform) as GameObject;

                FireBehavior fireBallBehavior = newFireball.GetComponent <FireBehavior>();

                if (fireBallBehavior != null)
                {
                    fireBallBehavior.Launch(new Vector2(0f, 1f));
                }
            }
            if (key == 's')
            {
                GameObject newFireball = Instantiate(m_GREENbackFireBall, this.transform) as GameObject;

                FireBehavior fireBallBehavior = newFireball.GetComponent <FireBehavior>();

                if (fireBallBehavior != null)
                {
                    fireBallBehavior.Launch(new Vector2(0f, -1f));
                }
            }
            if (key == 'd')
            {
                GameObject newFireball = Instantiate(m_GREENrightFireBall, this.transform) as GameObject;

                FireBehavior fireBallBehavior = newFireball.GetComponent <FireBehavior>();

                if (fireBallBehavior != null)
                {
                    fireBallBehavior.Launch(new Vector2(1f, 0f));
                }
            }
            if (key == 'q')
            {
                GameObject newFireball = Instantiate(m_GREENleftFireBall, this.transform) as GameObject;

                FireBehavior fireBallBehavior = newFireball.GetComponent <FireBehavior>();

                if (fireBallBehavior != null)
                {
                    fireBallBehavior.Launch(new Vector2(-1f, 0f));
                }
            }
        }
        if (h_color == HeroColor.BLUE)
        {
            if (key == 'z')
            {
                GameObject newFireball = Instantiate(m_BLUEfrontFireBall, this.transform) as GameObject;

                FireBehavior fireBallBehavior = newFireball.GetComponent <FireBehavior>();

                if (fireBallBehavior != null)
                {
                    fireBallBehavior.Launch(new Vector2(0f, 1f));
                }
            }
            if (key == 's')
            {
                GameObject newFireball = Instantiate(m_BLUEbackFireBall, this.transform) as GameObject;

                FireBehavior fireBallBehavior = newFireball.GetComponent <FireBehavior>();

                if (fireBallBehavior != null)
                {
                    fireBallBehavior.Launch(new Vector2(0f, -1f));
                }
            }
            if (key == 'd')
            {
                GameObject newFireball = Instantiate(m_BLUErightFireBall, this.transform) as GameObject;

                FireBehavior fireBallBehavior = newFireball.GetComponent <FireBehavior>();

                if (fireBallBehavior != null)
                {
                    fireBallBehavior.Launch(new Vector2(1f, 0f));
                }
            }
            if (key == 'q')
            {
                GameObject newFireball = Instantiate(m_BLUEleftFireBall, this.transform) as GameObject;

                FireBehavior fireBallBehavior = newFireball.GetComponent <FireBehavior>();

                if (fireBallBehavior != null)
                {
                    fireBallBehavior.Launch(new Vector2(-1f, 0f));
                }
            }
        }
    }
示例#9
0
 // Use this for initialization
 void Awake()
 {
     fireBehavior = GetComponentInParent <FireBehavior> ();
 }