Beispiel #1
0
    public bool GetCharacterBlocked(CharacterNameType charID, BlockInfo.BlockType typeToCheck, int minRequired = 1)
    {
        int number = 0;

        foreach (BlockInfo blockInfo in blocks)
        {
            if (blockInfo.characterWhoBlocked.CharInfo.CharacterID == charID)
            {
                if (typeToCheck == BlockInfo.BlockType.either)
                {
                    number++;
                }
                else if (blockInfo.blockType == typeToCheck)
                {
                    number++;
                }
            }
        }
        if (number < minRequired)
        {
            return(false);
        }
        else
        {
            return(true);
        }
    }
Beispiel #2
0
    private MinionType_Script CreatePiece(CharacterNameType pieceType)
    {
        MinionType_Script piece = (MinionType_Script)BattleManagerScript.Instance.CreateChar(new CharacterBaseInfoClass(pieceType.ToString(), CharacterSelectionType.Up,
                                                                                                                        new List <ControllerType> {
            ControllerType.Enemy
        }, pieceType, WalkingSideType.RightSide, AttackType.Tile, BaseCharType.None), transform);

        piece.UMS.Pos = UMS.Pos;
        piece.UMS.EnableBattleBars(false);
        piece.UMS.CurrentTilePos = UMS.CurrentTilePos;
        piece.SetValueFromVariableName("BaseBoss", this);
        if (pieceType == CharacterNameType.Stage00_BossOctopus_Head)
        {
            ((Stage00_BossOctopus_Head)piece).bossParent = this;
        }
        else if (pieceType == CharacterNameType.Stage00_BossOctopus_Tentacles)
        {
            ((Stage00_BossOctopus_Tentacles)piece).bossParent = this;
        }
        else if (pieceType == CharacterNameType.Stage00_BossOctopus_Girl)
        {
            ((Stage00_BossOctopus_Girl)piece).bossParent = this;
        }
        return(piece);
    }
Beispiel #3
0
 public FiredAttackParticle(GameObject ps, CharacterNameType charaterId, AttackParticlePhaseTypes particleType, SideType side, AttackInputType attackInput)
 {
     PS           = ps;
     CharaterId   = charaterId;
     ParticleType = particleType;
     Side         = side;
     AttackInput  = attackInput;
 }
Beispiel #4
0
 private void Flower_CurrentCharIsDeadEvent(CharacterNameType cName, List <ControllerType> playerController, SideType side)
 {
     if (CanGetDamageCo != null)
     {
         StopCoroutine(CanGetDamageCo);
     }
     CanGetDamageCo = CanGetDamage_Co();
     StartCoroutine(CanGetDamageCo);
 }
Beispiel #5
0
    private void CharIcon_CurrentCharIsDeadEvent(CharacterNameType cName, List <ControllerType> playerController, SideType side)
    {
        Charsinfo icon = Chars.Where(r => r.CharName == cName).FirstOrDefault();

        if (icon != null)
        {
            icon.Icon.color = Color.gray;
        }
    }
Beispiel #6
0
 public bool GetStaminaUpdatedLastFrame(CharacterNameType charID)
 {
     foreach (CharacterEventInfoClass charStaminaUpdatedLastFrame in staminaChangedLastFrame)
     {
         if (charStaminaUpdatedLastFrame.character.CharInfo.CharacterID == charID)
         {
             return(true);
         }
     }
     return(false);
 }
Beispiel #7
0
 public int CharacterArrivalCount(CharacterNameType charID)
 {
     foreach (CharacterEventInfoClass characterWhomstHasArrived in charactersWhomstHaveArrived)
     {
         if (characterWhomstHasArrived.character.CharInfo.CharacterID == charID)
         {
             return(characterWhomstHasArrived.arrivals);
         }
     }
     return(0);
 }
Beispiel #8
0
 public bool HasCharacterSwitched(CharacterNameType charID)
 {
     foreach (CharacterEventInfoClass characterSwitched in charactersSwitched)
     {
         if (characterSwitched.character.CharInfo.CharacterID == charID)
         {
             return(true);
         }
     }
     return(false);
 }
Beispiel #9
0
 public int CharacterSwitchCount(CharacterNameType charID)
 {
     foreach (CharacterEventInfoClass characterSwitched in charactersSwitched)
     {
         if (characterSwitched.character.CharInfo.CharacterID == charID)
         {
             return(characterSwitched.switches);
         }
     }
     return(0);
 }
Beispiel #10
0
 public void SetSelected(bool state, ControllerType controller, CharacterNameType charName, SideType side = SideType.LeftSide)
 {
     if (state)
     {
         GetvitalityBoxOfCharacter(charName, side).SelectCharacter(controller);
     }
     else
     {
         GetvitalityBoxOfCharacter(charName, side).DeselectCharacter();
     }
 }
Beispiel #11
0
 public bool HasCharacterSwitchedThisFrame(CharacterNameType charID)
 {
     foreach (CharacterNameType characterSwitchedLastFrame in charactersSwitchedLastFrame)
     {
         if (characterSwitchedLastFrame == charID)
         {
             return(true);
         }
     }
     return(false);
 }
Beispiel #12
0
 public bool HasCharacterArrived(CharacterNameType charID)
 {
     foreach (CharacterEventInfoClass characterWhomstHasArrived in charactersWhomstHaveArrived)
     {
         if (characterWhomstHasArrived.character.CharInfo.CharacterID == charID)
         {
             return(true);
         }
     }
     return(false);
 }
Beispiel #13
0
 public int CharacterDeathCount(CharacterNameType charID)
 {
     foreach (CharacterEventInfoClass deadChar in deadCharacters)
     {
         if (deadChar.character.CharInfo.CharacterID == charID)
         {
             return(deadChar.deaths);
         }
     }
     return(0);
 }
Beispiel #14
0
 public bool HasCharacterArrivedThisFrame(CharacterNameType charID)
 {
     foreach (CharacterNameType characterWhomstHasArrived in arrivedThisFrame)
     {
         if (characterWhomstHasArrived == charID)
         {
             return(true);
         }
     }
     return(false);
 }
Beispiel #15
0
 public bool HasCharacterDied(CharacterNameType charID)
 {
     foreach (CharacterEventInfoClass deadChar in deadCharacters)
     {
         if (deadChar.character.CharInfo.CharacterID == charID)
         {
             return(true);
         }
     }
     return(false);
 }
Beispiel #16
0
 public bool HasCharacterDiedThisFrame(CharacterNameType charID)
 {
     foreach (CharacterNameType charWhomstDied in diedThisFrame)
     {
         if (charWhomstDied == charID)
         {
             return(true);
         }
     }
     return(false);
 }
Beispiel #17
0
 public CharacterBaseInfoClass(string name, CharacterSelectionType characterSelection,
                               List <ControllerType> playerController, CharacterNameType characterName,
                               WalkingSideType walkingSide, AttackType charAttackType, BaseCharType bCharType)
 {
     Name = name;
     CharacterSelection = characterSelection;
     PlayerController   = playerController;
     CharacterName      = characterName;
     WalkingSide        = walkingSide;
     CharAttackType     = charAttackType;
     BCharType          = bCharType;
 }
Beispiel #18
0
 MinionType_Script GetPiece(CharacterNameType pieceName)
 {
     foreach (MinionType_Script piece in Pieces)
     {
         //Debug.Log(piece.CharInfo.CharacterID.ToString());
         if (piece.CharInfo.CharacterID == pieceName)
         {
             return(piece);
         }
     }
     Debug.Log("Piece requested '" + pieceName.ToString() + "' does not exist in boss");
     return(null);
 }
Beispiel #19
0
 private void Flower_CurrentCharIsDeadEvent(CharacterNameType cName, List <ControllerType> playerController, SideType side)
 {
     AreChildrenAlive[cName] = false;
     if (AreChildrenAlive.Where(r => r.Value).ToList().Count == 0)
     {
         foreach (Stage04_BossGirl_Flower_Script item in Flowers)
         {
             item.CanRebirth = false;
             CanGetDamage    = true;
             GetComponentInChildren <LayerParticleSelection>(true).gameObject.SetActive(false);
         }
     }
 }
Beispiel #20
0
    public IEnumerator SpawnCharFromGivenWave(string waveName, CharacterNameType characterID, string charIdentifier, bool isRandom, Vector2Int pos, bool removeFromWave)
    {
        WavePhaseClass wpc = WavePhases.Where(r => r.name == waveName).First();

        CurrentWaveChar = wpc.ListOfEnemy.Where(a => a.TypeOfCharacter.CharacterName == characterID).First();
        BaseCharacter newChar = GetWaveCharacter(CurrentWaveChar.TypeOfCharacter);

        if (removeFromWave)
        {
            CurrentWaveChar.NumberOfCharacter--;
        }
        FungusSpawnedChars.Add(charIdentifier, newChar);
        yield return(SpawChar(newChar, isRandom, pos, true));
    }
Beispiel #21
0
    private BaseCharacter CreateChar(CharacterNameType characterID, BaseCharType bCharType = BaseCharType.None)
    {
        BaseCharacter res = BattleManagerScript.Instance.CreateChar(new CharacterBaseInfoClass(characterID.ToString(), CharacterSelectionType.Up,
                                                                                               new List <ControllerType> {
            ControllerType.Enemy
        }, characterID, WalkingSideType.RightSide, AttackType.Tile, bCharType), transform);

        if (characterID != CharacterNameType.Stage00_BossOctopus &&
            characterID != CharacterNameType.Stage00_BossOctopus_Head &&
            characterID != CharacterNameType.Stage00_BossOctopus_Tentacles &&
            characterID != CharacterNameType.Stage00_BossOctopus_Girl)
        {
            res.gameObject.SetActive(false);
        }
        WaveCharcters.Add(res);
        return(res);
    }
Beispiel #22
0
 public GameObject FireParticlesInPosition(GameObject ps, CharacterNameType characterId, AttackParticlePhaseTypes particleType, Vector3 pos, SideType side, AttackInputType attackInput)
 {
     using (FiredAttackParticle psToFire = AttackParticlesFired.Where(r => r.ParticleType == particleType && r.CharaterId == characterId &&
                                                                      !r.PS.gameObject.activeInHierarchy && r.Side == side && r.AttackInput == attackInput).FirstOrDefault())
     {
         if (psToFire != null)
         {
             psToFire.PS.transform.position = pos;
             psToFire.PS.SetActive(true);
             return(psToFire.PS);
         }
         else
         {
             GameObject res = Instantiate(ps, pos, Quaternion.identity, Container);
             res.SetActive(true);
             AttackParticlesFired.Add(new FiredAttackParticle(res, characterId, particleType, side, attackInput));
             return(res);
         }
     }
 }
Beispiel #23
0
 public GameObject FireParticlesInTransform(GameObject ps, CharacterNameType characterId, AttackParticlePhaseTypes particleType, Transform parent, SideType side, AttackInputType attackInput, bool particlesVisible)
 {
     //pType = AttackParticleTypes.Test_Mesh;
     using (FiredAttackParticle psToFire = AttackParticlesFired.Where(r => r.ParticleType == particleType && r.CharaterId == characterId &&
                                                                      !r.PS.gameObject.activeInHierarchy && r.Side == side && r.AttackInput == attackInput).FirstOrDefault())
     {
         if (psToFire != null)
         {
             psToFire.PS.transform.parent        = parent;
             psToFire.PS.transform.localPosition = Vector3.zero;
             psToFire.PS.SetActive(particlesVisible);//particlesVisible
             return(psToFire.PS);
         }
         else
         {
             GameObject res = Instantiate(ps, parent.position, parent.rotation, parent);
             res.transform.localPosition = Vector3.zero;
             res.SetActive(particlesVisible);//particlesVisible
             AttackParticlesFired.Add(new FiredAttackParticle(res, characterId, particleType, side, attackInput));
             return(res);
         }
     }
 }
Beispiel #24
0
    public float GetStaminaPercentage(CharacterNameType charID)
    {
        float _staminaPercentage         = -10000f;
        int   numberOfMatchingVitalities = 0;

        foreach (CharacterEventInfoClass characterVitality in characterVitalities)
        {
            if (charID == characterVitality.character.CharInfo.CharacterID)
            {
                numberOfMatchingVitalities++;
                _staminaPercentage = characterVitality.staminaPercentage;
            }
        }
        if (numberOfMatchingVitalities == 0)
        {
            Debug.Log("No matching vitalities on the board");
            return(0);
        }
        else if (numberOfMatchingVitalities > 1)
        {
            Debug.Log("More than one vitality with a matching name, returning the last value");
        }
        return(_staminaPercentage);
    }
Beispiel #25
0
    IEnumerator ResetCharacterSwitchesLastFrame(CharacterNameType charName)
    {
        yield return(null);

        charactersSwitchedLastFrame.Remove(charName);
    }
Beispiel #26
0
 public CharactersRelationshipClass(RelationshipType relationship, CharacterNameType characterName)
 {
     Relationship  = relationship;
     CharacterName = characterName;
 }
Beispiel #27
0
    IEnumerator ResetCharacterArrivalsLastFrame(CharacterNameType charName)
    {
        yield return(null);

        arrivedThisFrame.Remove(charName);
    }
Beispiel #28
0
 private void Flower_CurrentCharIsRebornEvent(CharacterNameType cName, List <ControllerType> playerController, SideType side)
 {
     AreChildrenAlive[cName] = true;
     CanGetDamage            = false;
 }
Beispiel #29
0
 public NewICharacterVitality GetvitalityBoxOfCharacter(CharacterNameType charName, SideType side)
 {
     return(vitalityBoxes.Where(r => r.assignedCharDetails != null && r.assignedCharDetails.CharacterID == charName && r.mapSide == side).FirstOrDefault());
 }
Beispiel #30
0
    IEnumerator ResetCharacterDeathsLastFrame(CharacterNameType charName)
    {
        yield return(null);

        diedThisFrame.Remove(charName);
    }