public void PlayFootfallSound()
    {
        if (!ThirdPersonController.characterController.isGrounded)
        {
            return;
        }

        Vector3 vel = ThirdPersonController.characterController.velocity;

        vel = transform.InverseTransformVector(vel);
        if (footstepParticle)
        {
            footstepParticle.Play();
        }

        if (vel.z > 0)
        {
            m_run.SetValue(gameObject);
        }
        else
        {
            m_walk.SetValue(gameObject);
        }

        m_footstep.Post(gameObject);
    }
Beispiel #2
0
    public void ChangeMovingSound(int underGround)
    {
        //set switches
        switch (underGround)
        {
        case 1:     //stone
            surfaceStone.SetValue(this.gameObject);
            break;

        case 2:     //gravel
            surfaceGravel.SetValue(this.gameObject);
            break;

        case 3:     //grass
            surfaceGrass.SetValue(this.gameObject);
            break;

        case 4:     //bush
            surfaceBush.SetValue(this.gameObject);
            break;

        default:     //stone
            surfaceStone.SetValue(this.gameObject);
            break;
        }
    }
Beispiel #3
0
    public void ChangeFootstep(int underGround)
    {
        //set switches and currUnderground
        switch (underGround)
        {
        case 1:     //stone
            surfaceStone.SetValue(this.gameObject);
            currUnderground = Underground.Stone;
            break;

        case 2:     //gravel
            surfaceGravel.SetValue(this.gameObject);
            currUnderground = Underground.Gravel;
            break;

        case 3:     //grass
            surfaceGrass.SetValue(this.gameObject);
            currUnderground = Underground.Grass;
            break;

        case 4:     //bush
            surfaceBush.SetValue(this.gameObject);
            currUnderground = Underground.Bush;
            break;

        default:     //stone
            surfaceStone.SetValue(this.gameObject);
            currUnderground = Underground.Stone;
            break;
        }
    }
Beispiel #4
0
 void OnTriggerEnter(Collider col)
 {
     if (col.CompareTag("Player"))
     {
         for (int i = 0; i < feet.Length; i++)
         { //I mean, we kinda KNOW there'll only be two feet, but who knows if the Adventuress suddenly grows another one? ;)
             feet[i].EnterWaterZone();
             surfaceSwitch.SetValue(feet[i].gameObject);
         }
     }
 }
Beispiel #5
0
    private void FixedUpdate()
    {
        wasGrounded = grounded;
        grounded    = false;

        Collider2D[] circleCast = Physics2D.OverlapCircleAll(groundCheck.position, groundedRadius, whatIsGround);
        for (int circleInt = 0; circleInt < circleCast.Length; circleInt++)
        {
            if (circleCast[circleInt].gameObject != gameObject)
            {
                grounded = true;
                if (!wasGrounded)
                {
                    OnLandEvent.Invoke();
                }
                foreach (Collider2D floor in circleCast)
                {
                    if (floor.tag == ("Sand"))
                    {
                        materialSwitchSand.SetValue(this.gameObject);
                    }

                    if (floor.tag == ("Dirt"))
                    {
                        materialSwitchDirt.SetValue(this.gameObject);
                    }

                    if (floor.tag == ("Grass"))
                    {
                        materialSwitchGrass.SetValue(this.gameObject);
                    }
                }
            }
        }
    }
Beispiel #6
0
 void OnTriggerStay2D(Collider2D c)
 {
     if (c.tag == "SpecialItem" && Input.GetKey(KeyCode.C))
     {
         // TODO: save the item under the player
         gameMaster.UpdateCanvas("Street", true, -1);
         gameMaster.SetCurrentGameState(GameMaster.game_state_start_loading_level);
         Street.SetValue(akMusicPlayer);//music changes
         gameMaster.EnterScene("street");
     }
 }
    //public AK.Wwise.Event SomeEvent;
    //public AK.Wwise.RTPC SomeRTPC;
    //public AK.Wwise.Bank SomeBank;

    void Start()
    {
        ItemTypeSwitch.Validate();
        //SomeEvent.Validate();
        //SomeRTPC.Validate();
        //SomeBank.Validate();

        if (ItemTypeSwitch.IsValid())
        {
            ItemTypeSwitch.SetValue(gameObject);
        }
        else
        {
            print("Wwise-Type not assigned on - " + this.gameObject.name);
        }
    }
Beispiel #8
0
    void Update()
    {
        if (SceneManager.GetActiveScene() == SceneManager.GetSceneByName("Redesign"))
        {
            forest.SetValue(this.gameObject);
        }

        if (SceneManager.GetActiveScene() == SceneManager.GetSceneByName("Level2"))
        {
            cave.SetValue(this.gameObject);
        }

        if (SceneManager.GetActiveScene() == SceneManager.GetSceneByName("Level3"))
        {
            forest2.SetValue(this.gameObject);
        }
    }
Beispiel #9
0
    void OnEnable()
    {
        PickupType.SetValue(gameObject);
        if (transform.childCount > 0)
        {
            Transform T = transform.Find("Outline");
            if (T != null)
            {
                outline       = T.gameObject;
                objectOutline = outline.GetComponent <ObjectOutline>();
            }
        }

        if (trigger == null)
        {
            var sphereCollider = GetComponent <SphereCollider>();
            if (sphereCollider != null)
            {
                trigger = sphereCollider;
            }
            else
            {
                SphereCollider col = gameObject.AddComponent <SphereCollider>();
                trigger       = col;
                col.isTrigger = true;
                col.radius    = 1;
            }
        }
        if (trigger != null)
        {
            trigger.enabled = true;
        }
        else
        {
            print("You forgot a sphere trigger on object: " + this.gameObject.name);
        }

        if (!InteractionEnabled)
        {
            InteractionEnabled = true;
        }
    }
Beispiel #10
0
    protected virtual void Start()
    {
        mainCamera           = Camera.main;
        rigidBody            = GetComponent <Rigidbody>();
        colliders            = GetComponents <Collider>();
        rotating             = false;
        currentRotationSpeed = rotationSpeed;
        inventory            = transform.parent;
        soundMaterial.SetValue(gameObject);
        currentZoomOffset = zoomOffset;

        if (transcriptJSONRecto != null)
        {
            transcriptRecto = JsonUtility.FromJson <Transcript>(transcriptJSONRecto.text);
        }
        if (transcriptJSONVerso != null)
        {
            transcriptVerso = JsonUtility.FromJson <Transcript>(transcriptJSONVerso.text);
        }

        switchTranscriptSide = false;
        side = 0;
    }
Beispiel #11
0
 public static void SetSwitch(AK.Wwise.Switch wwSwitch, GameObject go)
 {
     wwSwitch.SetValue(go);
 }
 public void Start()
 {
     m_run.SetValue(gameObject);
     m_snow.SetValue(gameObject);
 }
Beispiel #13
0
    void OnCollisionEnter(Collision col)
    {
        if (playerWeapon)
        {
            if (equipped && col.gameObject.tag != "Player")
            {
                Vector3 playerToHitPoint = col.contacts[0].point - PlayerManager.Instance.player.transform.position;
                Attack  attack           = new Attack(BaseDamage, playerToHitPoint, knockbackStrength, SwingTypes.None, weaponType, col.contacts[0].point);

                AnimatorStateInfo currentAnimation = PlayerManager.Instance.playerAnimator.GetCurrentAnimatorStateInfo(0);
                if (currentAnimation.IsName("Player_RightSwing"))
                {
                    attack.swingType = SwingTypes.Right;
                    WeaponCombo1.SetValue();
                }
                else if (currentAnimation.IsName("Player_LeftSwing"))
                {
                    attack.swingType = SwingTypes.Left;
                    WeaponCombo2.SetValue();
                }
                else if (currentAnimation.IsName("Player_TopSwing"))
                {
                    attack.swingType = SwingTypes.Top;
                    WeaponCombo3.SetValue();
                }

                if (!alreadyHitObjects.Contains(col.gameObject))
                {
                    //get material of the contact point
                    SoundMaterial sm = col.gameObject.GetComponent <SoundMaterial>();
                    if (sm != null)
                    {
                        uint thisSwitch = 0;
                        AkSoundEngine.GetSwitch((uint)sm.material.GroupId, transform.parent.gameObject, out thisSwitch);
                        //print("Current Switch: "+ thisSwitch +", New: "+ sm.material.ID);

                        if (thisSwitch != (uint)sm.material.Id)
                        {
                            sm.material.SetValue(transform.parent.gameObject); // Set Impact Material
                                                                               //print("New Impact Material: "+ sm.gameObject.name);
                        }
                    }

                    SetAndPlayWeaponImpact(col.gameObject);
                    GameManager.DamageObject(col.gameObject, attack);

                    GameObject hit = Instantiate(hitEffect, transform.position, Quaternion.identity) as GameObject; //TODO: Pool hit effects
                    Destroy(hit, 5f);

                    if (col.gameObject.layer == LayerMask.NameToLayer("Agent"))
                    {
                        //ComboEvent.Post(transform.parent.gameObject);
                        attack.damage += applyBonusDamage ? comboCompletionBonusDamage : 0;

                        float newTimeScale   = applyBonusDamage ? 0.2f : 0.5f;
                        float transitionTime = 0.1f;
                        float holdTime       = applyBonusDamage ? 0.2f : 0.1f;
                        float shakeDuration  = applyBonusDamage ? 0.3f : 0.15f;
                        float shakeScale     = applyBonusDamage ? 0.2f : 0.1f;

                        GameManager.Instance.gameSpeedHandler.SetGameSpeed(gameObject.GetInstanceID(), newTimeScale, transitionTime, transitionTime, holdTime);
                        PlayerManager.Instance.CamShake(new PlayerCamera.CameraShake(shakeScale, shakeDuration));
                    }
                }
            }
        }
        else
        {
            if (col.gameObject.CompareTag("Player"))
            {
                Attack attack = new Attack(BaseDamage, col.contacts[0].point - PlayerManager.Instance.player.transform.position, BaseDamage);
                GameManager.DamageObject(col.gameObject, attack);
                WeaponTypeSwitch.SetValue(transform.parent.gameObject); // Weapon Type
                WeaponImpact.Post(transform.parent.gameObject);
            }
        }
    }
Beispiel #14
0
    public void EnterScene(string location)
    {
        for (int i = 0; i < enemies.Count; i++)
        {
            Destroy(enemies[i]);
        }

        currentScene.deMaterialize();

        Debug.Log("EnterScene received: " + location);

        switch (location)
        {
        case "house0":     //Greyhound
            Debug.Log("Entering Scene: House0");
            greyhound.SetValue(akMusicPlayer);
            currentScene = houses[0];
            currentScene.materialize();
            player.transform.position = new Vector3(10, 1, -1f);
            SpawnEnemies(0);

            break;

        case "street":
            Debug.Log("Entering Scene: Street");
            city.SetValue(akMusicPlayer);
            currentScene = street;
            currentScene.materialize();
            player.transform.position = new Vector3(15, 0, -1f);

            break;

        case "house1":     //Cat
            Debug.Log("Entering Scene: House1");
            cat.SetValue(akMusicPlayer);
            currentScene = houses[1];
            currentScene.materialize();
            player.transform.position = new Vector3(10, 1, -1f);
            SpawnEnemies(1);

            break;

        case "house2":     //Bulldog (Final Boss)
            Debug.Log("Entering Scene: House2");
            dogFather.SetValue(akMusicPlayer);
            SceneManager.LoadScene("BOSSHOUSE");
            player.transform.position = new Vector3(-11, 4, -1);
            SpawnEnemies(2);
            //currentScene = houses[2];
            //currentScene.materialize();x
            //player.transform.position = new Vector3(10,1,-1f);
            //SpawnEnemies(2);

            break;

        case "junkyard":
            Debug.Log("Entering Scene: Junkyard");
            city.SetValue(akMusicPlayer);
            break;

        default:
            Debug.Log("Your scene dun fked up");
            break;
        }
    }