// Use this for initialization void Start() { currentCharacter = this.GetComponent <CharacterFeatures>(); rivalCharacter = rivalCharacters.transform.GetChild(0).GetComponent <CharacterFeatures>(); characterActions = this.GetComponent <CharacterActions>(); characterAssist = characters.GetComponent <CharacterAssist>(); animator = currentCharacter.GetAnimator(); rigidBody = this.GetComponent <Rigidbody2D>(); boxCollider = this.GetComponent <BoxCollider2D>(); /*AddRulesRivalAttacks(); * AddRulesRivalIsHit(); * AddRulesRivalIsBlock(); * AddRulesRivalBackwards(); * AddRulesRivalJumpingBackwards(); * AddRulesRivalForwards(); * AddRulesRivalJumpingForwards(); * AddRulesRivalIdle(); * AddRulesSwapCharacter();*/ }
public static void CheckCharacterSwap(CharacterAssist assist, CharacterFeatures currentCharacter, GameObject characters) { if (!assist.GetSwapped()) { float lifePercentage = (float)currentCharacter.GetHealthBar().getHP() / currentCharacter.GetHealthBar().getMaxHP(); float pointCharacterHealth = currentCharacter.GetHealthBar().getHP(); float secondCharacterHealth = characters.transform.GetChild(1).GetComponent <CharacterFeatures>().GetHealthBar().getHP(); float thirdCharacterHealth = characters.transform.GetChild(2).GetComponent <CharacterFeatures>().GetHealthBar().getHP(); if (lifePercentage < 0.4) { if (pointCharacterHealth > secondCharacterHealth) { if (pointCharacterHealth > thirdCharacterHealth) { ////Leave point character conditions &= ~AIConditions.changeSecondCharacter; conditions &= ~AIConditions.changeThirdCharacter; conditions |= AIConditions.leavePointCharacter; } else { ///Change to third character conditions &= ~AIConditions.leavePointCharacter; conditions &= ~AIConditions.changeSecondCharacter; conditions |= AIConditions.changeThirdCharacter; } } else { if (secondCharacterHealth >= thirdCharacterHealth) { ///Change to second character conditions &= ~AIConditions.leavePointCharacter; conditions &= ~AIConditions.changeThirdCharacter; conditions |= AIConditions.changeSecondCharacter; } else { /// Change to third character conditions &= ~AIConditions.leavePointCharacter; conditions &= ~AIConditions.changeSecondCharacter; conditions |= AIConditions.changeThirdCharacter; } } } else { /// leave point character conditions &= ~AIConditions.changeSecondCharacter; conditions &= ~AIConditions.changeThirdCharacter; conditions |= AIConditions.leavePointCharacter; } } else { //// Reset all conditions conditions &= ~AIConditions.leavePointCharacter; conditions &= ~AIConditions.changeSecondCharacter; conditions &= ~AIConditions.changeThirdCharacter; } }