void HandleIndicatorOverCharacter(string name)
    {
        switch (name)
        {
        case "Iblis":
            SetImage(iblisSprite);
            tempCharacter = GameState.Character.Iblis;
            break;

        case "Shauna":
            SetImage(shaunaSprite);
            tempCharacter = GameState.Character.Shauna;
            break;

        case "Reset":
            SetImage(null);
            tempCharacter = GameState.Character.None;
            break;
        }

        if (isGrabbingP1Indicator)
        {
            GameState.P1_Character = tempCharacter;
        }
        else if (isGrabbingP2Indicator)
        {
            GameState.P2_Character = tempCharacter;
        }
    }
Ejemplo n.º 2
0
 private GameObject GetGameObjectForCharacter(GameState.Character character)
 {
     if (character == GameState.Character.Iblis)
     {
         return(iblisObject);
     }
     else if (character == GameState.Character.Shauna)
     {
         return(shaunaObject);
     }
     else
     {
         Debug.Log("Something is wrong....");
         return(null);
     }
 }
Ejemplo n.º 3
0
    void HandleRemoveLife(GameState.Character character)
    {
        if (character == GameState.P1_Character)
        {
            p1Lives--;

            if (p1Lives > 0)
            {
                p1LivesList[p1Lives].SetActive(false);
                GameObject newChar = GetGameObjectForCharacter(GameState.P1_Character);
                if (newChar != null)
                {
                    RespawnCharacter?.Invoke(newChar);
                }
            }
            else
            {
                p1LivesList[0].SetActive(false);
                RemoveCharacterFromAIList?.Invoke(GameState.P1);
                GameState.winners.Remove(GameState.P1_Character.ToString());
                RemoveDamageTextAtIndex?.Invoke(0);
            }
        }
        else if (character == GameState.P2_Character)
        {
            p2Lives--;

            if (p2Lives > 0)
            {
                p2LivesList[p2Lives].SetActive(false);
                GameObject newChar = GetGameObjectForCharacter(GameState.P2_Character);
                if (newChar != null)
                {
                    RespawnCharacter?.Invoke(newChar);
                }
            }
            else
            {
                p2LivesList[0].SetActive(false);
                RemoveCharacterFromAIList?.Invoke(GameState.P2);
                GameState.winners.Remove(GameState.P2_Character.ToString());
                RemoveDamageTextAtIndex?.Invoke(1);
            }
        }
    }
Ejemplo n.º 4
0
    void SpawnCharacter(GameState.Character character, Transform spawnPoint)
    {
        if (character == GameState.Character.Iblis)
        {
            Instantiate(iblisObject, spawnPoint.position, Quaternion.Euler(0, 0, 0));
        }
        else if (character == GameState.Character.Shauna)
        {
            Instantiate(shaunaObject, spawnPoint.position, Quaternion.Euler(0, 0, 0));
        }


        spawned++;

        if (spawned == 4)
        {
            GameState.Init();
        }
    }
Ejemplo n.º 5
0
    void InitializeLivesForCharacter(int lives, List <GameObject> characterLives, GameState.Character character)
    {
        foreach (GameObject go in characterLives)
        {
            if (character == GameState.Character.Iblis)
            {
                SetSprite(go, shauna);
            }
            else if (character == GameState.Character.Shauna)
            {
                SetSprite(go, iblis);
            }

            go.SetActive(false);
        }

        for (int i = 0; i < lives; i++)
        {
            characterLives[i].SetActive(true);
        }
    }
    void OnTriggerEnter(Collider col)
    {
        switch (col.gameObject.name)
        {
        case "Iblis":
            tempCharacter = GameState.Character.Iblis;
            break;

        case "Shauna":
            tempCharacter = GameState.Character.Shauna;
            break;
        }

        if (tempCharacter != null)
        {
            RemoveLife?.Invoke(tempCharacter);
        }

        if (col.gameObject != null)
        {
            Destroy(col.gameObject);
        }
    }