private void SpawnRandomEnemy(EnemyComponents spawnPrefab, PlayerComponents player, EnemyComponents[] allEnemies, AISensor[] allSensors) { EnemyComponents choosePartner; Vector2 randomCircle; NavMeshHit hit; do { choosePartner = allEnemies[Random.Range(0, allEnemies.Length - 1)]; randomCircle = Random.insideUnitCircle.normalized * Random.Range(randomEnemyRange.x, randomEnemyRange.y); }while (NavMesh.SamplePosition( choosePartner.transform.position + new Vector3(randomCircle.x, 0, randomCircle.y), out hit, 20f, NavMesh.AllAreas) == false || Vector3.Distance(hit.position, player.transform.position) < minDistanceFromPlayer); EnemyComponents newEnemy = Instantiate(spawnPrefab, hit.position, Quaternion.Euler(0, Random.Range(0, 360), 0)); UpgradeEnemy(newEnemy); //hook up sensors for (int i = 0; i < allSensors.Length; i++) { if (allSensors[i].affectedEnemies.Contains(choosePartner.enemyControl)) { allSensors[i].affectedEnemies.Add(newEnemy.enemyControl); } } }
public override void Awake() { base.Awake(); stringBuilder = new StringBuilder(); player = PlayerController.Current.character; playerSheet = player.characterSheet; }
void Awake() { if (instance == null) { instance = this; } else { Destroy(this); } }
public void JumpAnimation(PlayerStatements _pStatements, PlayerComponents _pComponents) { if (_pStatements.isCroutch) { return; } if (_pStatements.isGrounded) { _pComponents.animatorCharacter.SetTrigger("jump"); } }
private void Start() { PlayerComponents = FindObjectsOfType <PlayerComponent>(); EnemyComponents = FindObjectsOfType <EnemyComponent>(); Components = PlayerComponents.Cast <SomeoneComponent>() .Concat(EnemyComponents.Cast <SomeoneComponent>()) .ToList(); Step(); }
private void Awake() { m_PlayerGameObject = FindObjectOfType <PlayerController>().transform.gameObject; AddAllRestartableObjects(); m_PlayerComponents = new PlayerComponents(); m_PlayerComponents.m_PlayerController = m_PlayerGameObject.GetComponent <PlayerController>(); m_PlayerComponents.m_PlayerHPMan = m_PlayerGameObject.GetComponent <HealthManager>(); foreach (Transform T in m_PortalCheckerPoint.GetComponentsInChildren <Transform>()) { m_PortalCheckersList.Add(T); } }
private void OnSceneLoaded(Scene arg0, LoadSceneMode arg1) { if (newGameCount == 0) { return; } SetTextSigns(); //alter player PlayerComponents player = FindObjectOfType <PlayerComponents>(); //reduce health, same as increasing enemy damage int playerHealth = player.characterSheet.GetResourceMax(CharacterSheet.Resource.health); playerHealth = ReduceInt(playerHealth, newGameCount * playerHealthReduction); if (playerHealth < minPlayerHealth) { playerHealth = minPlayerHealth; } player.characterSheet.SetResourceMax(CharacterSheet.Resource.health, playerHealth); //alter health pickups HealthPickup[] healthPickups = FindObjectsOfType <HealthPickup>(); for (int i = 0; i < healthPickups.Length; i++) { healthPickups[i].healAmount = ReduceInt(healthPickups[i].healAmount, newGameCount * healthPickupReduction); if (healthPickups[i].healAmount < minHealthPickupHeal) { healthPickups[i].healAmount = minHealthPickupHeal; } } //alter enemies EnemyComponents[] allEnemies = FindObjectsOfType <EnemyComponents>(); for (int i = 0; i < allEnemies.Length; i++) { UpgradeEnemy(allEnemies[i]); } if (enemyPrefabs.Length == 0) { Debug.LogWarning("No enemy prefabs loaded!", this); return; } AISensor[] allSensors = FindObjectsOfType <AISensor>(); for (int i = 0; i < newGameCount; i++) { SpawnRandomEnemy(enemyPrefabs[i % enemyPrefabs.Length], player, allEnemies, allSensors); } }
public void Attack(PlayerStatements _pStatements, PlayerStats _pStats, PlayerComponents _pComponents) { _pStatements.isAttack = true; _pStats.countattack += 1; if (_pStats.countattack == 1 || _pStats.countattack == 2 || _pStats.countattack == 3) { _pStats.attackComboCD = 1.5f; var attackCombo = string.Format("AttackCombo{0}", _pStats.countattack); _pComponents.animatorCharacter.SetTrigger(attackCombo); PrepareAttack(_pStats); AttackUse(_pStats, _pComponents); } }
public void Crouch(bool isCrouch, PlayerStatements _pStatements, PlayerComponents _pComponents) { _pStatements.isCroutch = isCrouch; if (isCrouch) { _pComponents.stayCharacter.enabled = false; _pComponents.croutchCharacter.enabled = true; } else { _pComponents.stayCharacter.enabled = true; _pComponents.croutchCharacter.enabled = false; } }
void Awake() { if (instance == null) { instance = this; } else if (instance != this) { Destroy(gameObject); } ply = gameObject; cc = GetComponent <CharacterController>(); movement = GetComponent <PlayerMovement>(); }
private void LinkPlayer() { PlayerComponents player = FindObjectOfType <PlayerComponents>(); if (player == null) { Debug.LogWarning("Player could not be found, not linked", gameObject); } else { //link player to HUD player.playerControl.hudObjects = hudObjects; //link HUD to player EventSystemModifier.Current.playerInput = player.playerInput; inventoryPanel.playerEquipment = player.equipment; Debug.Log("Player linked", gameObject); } }
public void AttackUse(PlayerStats _pStats, PlayerComponents _pComponents) { Collider2D[] hitEnemies = Physics2D.OverlapCircleAll(_pComponents.attackPoint.position, _pStats.attackRange, _pComponents.enemyLayers); foreach (Collider2D enemy in hitEnemies) { enemy.GetComponent <PlayerStats>().currentHealth -= _pStats.attackDamage; if (enemy.GetComponent <PlayerStatements>().isDead == false) { enemy.GetComponent <PlayerComponents>().animatorCharacter.SetTrigger("Hurt"); } if (enemy.GetComponent <PlayerStats>().currentHealth <= 0) { GameController.Instance.score += 1; enemy.GetComponent <PlayerStatements>().isDead = true; enemy.GetComponent <PlayerComponents>().animatorCharacter.SetBool("isDead", true); StartCoroutine(Timer(enemy)); } } }
public void MoveEnemy(PlayerComponents _pComponents, Collider2D[] _touchMovePointA, Collider2D[] _touchMovePointB) { if (goLeft == -1) { UnitMovementSystem.Instance.RunAnimation(true, playerComponents); UnitMovementSystem.Instance.Move(playerComponents.characterRB, goLeft, playerStats.speed); _touchMovePointA = Physics2D.OverlapCircleAll(wasPositionA, 0.5f, _pComponents.whoIam); foreach (Collider2D enemy in _touchMovePointA) { goLeft = 1; } } else if (goLeft == 1) { UnitMovementSystem.Instance.RunAnimation(true, playerComponents); UnitMovementSystem.Instance.Move(playerComponents.characterRB, goLeft, playerStats.speed); _touchMovePointB = Physics2D.OverlapCircleAll(wasPositionB, 0.5f, _pComponents.whoIam); foreach (Collider2D enemy in _touchMovePointB) { goLeft = -1; } } }
public PlayerModel(PlayerStruct playerStruct, PlayerComponents playerComponents, PlayerSettingsData playerSettingsData) { PlayerStruct = playerStruct; PlayerComponents = playerComponents; PlayerSettingsData = playerSettingsData; }
private void OnDrawGizmosSelected(PlayerStatements _pStatements, PlayerStats _pStats, PlayerComponents _pComponents) { if (_pComponents.attackPoint == null) { return; } Gizmos.DrawWireSphere(_pComponents.attackPoint.position, _pStats.attackRange); }
public PlayerModel(PlayerDataRelevant playerDataIndividual, PlayerComponents playerComponents) { this.playerDataRelevant = playerDataIndividual; this.playerComponents = playerComponents; }
public void Clean(Game game) { foreach (var component in LevelComponents.Where(b => b.GameId == game.Id)) { LevelComponents.Remove(component); } foreach (var branch in Branches.Where(b => b.GameId == game.Id)) { Branches.Remove(branch); } foreach (var logEntry in LogEntries.Where(e => e.GameId == game.Id)) { LogEntries.Remove(logEntry); } foreach (var playerCommand in PlayerCommands.Where(b => b.GameId == game.Id)) { PlayerCommands.Remove(playerCommand); } foreach (var abilityComponent in AbilityComponents.Where(b => b.GameId == game.Id)) { AbilityComponents.Remove(abilityComponent); } foreach (var aiComponent in AIComponents.Where(b => b.GameId == game.Id)) { AIComponents.Remove(aiComponent); } foreach (var playerComponent in PlayerComponents.Where(b => b.GameId == game.Id)) { PlayerComponents.Remove(playerComponent); } foreach (var beingComponent in BeingComponents.Where(b => b.GameId == game.Id)) { BeingComponents.Remove(beingComponent); } foreach (var physicalComponent in PhysicalComponents.Where(b => b.GameId == game.Id)) { PhysicalComponents.Remove(physicalComponent); } foreach (var raceComponent in RaceComponents.Where(b => b.GameId == game.Id)) { RaceComponents.Remove(raceComponent); } foreach (var effectComponent in EffectComponents.Where(b => b.GameId == game.Id)) { EffectComponents.Remove(effectComponent); } foreach (var itemComponent in ItemComponents.Where(b => b.GameId == game.Id)) { ItemComponents.Remove(itemComponent); } foreach (var knowledgeComponent in KnowledgeComponents.Where(b => b.GameId == game.Id)) { KnowledgeComponents.Remove(knowledgeComponent); } foreach (var connectionComponent in ConnectionComponents.Where(b => b.GameId == game.Id)) { ConnectionComponents.Remove(connectionComponent); } foreach (var positionComponent in PositionComponents.Where(b => b.GameId == game.Id)) { PositionComponents.Remove(positionComponent); } foreach (var sensorComponent in SensorComponents.Where(b => b.GameId == game.Id)) { SensorComponents.Remove(sensorComponent); } game.ActingPlayerId = null; SaveChanges(); Games.Remove(game); SaveChanges(); }
private void CheckGround(PlayerStatements _pStatements, PlayerStats _pStats, PlayerComponents _pComponents) { _pStatements.isGrounded = Physics2D.OverlapCircle(_pComponents.groundCheck.position, _pStats.checkRadius, _pComponents.whatIsGround); }
public void Jump(Rigidbody2D targetRB, PlayerStatements _pStatements, PlayerStats _pStats, PlayerComponents _pComponents) { CheckGround(_pStatements, _pStats, _pComponents); if (_pStatements.isCroutch) { return; } if (_pStatements.isGrounded) { targetRB.velocity = Vector2.up * _pStats.jumpForce; _pStats.extraJump = _pStats.extraJumpsValue - 1; _pStatements.isJump = false; } else { if (_pStats.extraJump > 1) { _pStatements.isJump = true; targetRB.velocity = Vector2.up * _pStats.jumpForce; _pStats.extraJump--; } } }
public void RegisterPlayer(PlayerComponents player) => this.player = player;
public void RunAnimation(bool isRinning, PlayerComponents _pComponents) { _pComponents.animatorCharacter.SetBool("isRunning", isRinning); }
public void ISeeYou(PlayerComponents _pComponents, PlayerStats _pStats) { beginSeePoint = new Vector2(_pComponents.groundCheck.position.x, _pComponents.groundCheck.position.y + 1.5f); endSeePoint = new Vector2(beginSeePoint.x - _pStats.visionDistance, beginSeePoint.y); }
public void CalculateDistance(PlayerStats _pStats, PlayerComponents _pComponents, GameObject _gameObject) { directionA = _pStats.enemyMoveDistance / 2; wasPositionA = new Vector2(_gameObject.transform.position.x - directionA, _pComponents.groundCheck.transform.localPosition.y); wasPositionB = new Vector2(_gameObject.transform.position.x + directionA, _pComponents.groundCheck.transform.localPosition.y); }