fix conflicts
This commit is contained in:
@@ -7,6 +7,8 @@ public class BugMovement : MonoBehaviour
|
||||
[SerializeField] private float secondsGoingLeft = 1;
|
||||
[SerializeField] private float secondsGoingRight = 1;
|
||||
[SerializeField] private float movementSpeed = 10;
|
||||
[SerializeField] public int eventTriggerCount = 3;
|
||||
[SerializeField] public int controlTriggerCounterEvent = 3;
|
||||
[SerializeField] Collider2D playerCollider;
|
||||
[SerializeField] EventControls eventControls;
|
||||
[SerializeField] Player player;
|
||||
@@ -14,6 +16,7 @@ public class BugMovement : MonoBehaviour
|
||||
private int leftAccumalator = 0;
|
||||
private int rightAccumalator = 0;
|
||||
private Rigidbody2D rigidBody;
|
||||
private bool isMovementDisabled = false;
|
||||
|
||||
private int framesPerSecond => 60;
|
||||
|
||||
@@ -27,6 +30,8 @@ public class BugMovement : MonoBehaviour
|
||||
{
|
||||
if (HasEncounteredPlayer())
|
||||
eventControls.TriggerEvent(playerCollider, GetComponent<Collider2D>(), player);
|
||||
if (isMovementDisabled)
|
||||
return;
|
||||
|
||||
var totalFramesGoingLeft = framesPerSecond * secondsGoingLeft;
|
||||
var totalFramesGoingRight = framesPerSecond * secondsGoingRight;
|
||||
@@ -65,4 +70,14 @@ public class BugMovement : MonoBehaviour
|
||||
{
|
||||
return rigidBody.IsTouchingLayers(LayerMask.GetMask(LayerNames.Player));
|
||||
}
|
||||
|
||||
public void DisableMovement()
|
||||
{
|
||||
isMovementDisabled = true;
|
||||
}
|
||||
|
||||
public void EnableMovement()
|
||||
{
|
||||
isMovementDisabled = false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,11 +13,19 @@ public class EventControls : MonoBehaviour
|
||||
[SerializeField] private List<Tile> successTiles;
|
||||
[SerializeField] private List<Tile> failTiles;
|
||||
[SerializeField] private Tile plusTile;
|
||||
|
||||
[SerializeField] private float framesPerControlTile = 15;
|
||||
[SerializeField] private int nextControlYOffset = 0;
|
||||
private int nextControlXOffset => 0 - maxNumberOfControlTiles + 1;
|
||||
[SerializeField] private float tileMapClearDelayInSeconds = 0.5f;
|
||||
[SerializeField] private int maxNumberOfControlTiles = 2;
|
||||
private int numberOfEventsCount = 0;
|
||||
|
||||
private int maxNumberOfEvents => currentEnemyCollider.gameObject
|
||||
.GetComponent<BugMovement>()
|
||||
.eventTriggerCount;
|
||||
private int maxNumberOfControlTiles => currentEnemyCollider.gameObject
|
||||
.GetComponent<BugMovement>()
|
||||
.controlTriggerCounterEvent;
|
||||
|
||||
private Tilemap tilemap;
|
||||
|
||||
@@ -33,6 +41,7 @@ public class EventControls : MonoBehaviour
|
||||
private int tileMapClearDelayAccumalator = 0;
|
||||
private EventControlTile currentEventControl;
|
||||
private bool isInBattle = false;
|
||||
private bool hasFailed = false;
|
||||
|
||||
private Collider2D currentPlayerCollider;
|
||||
private Collider2D currentEnemyCollider;
|
||||
@@ -46,10 +55,15 @@ public class EventControls : MonoBehaviour
|
||||
|
||||
public void TriggerEvent(Collider2D playerCollider, Collider2D enemyCollider, Player player)
|
||||
{
|
||||
if (isInBattle)
|
||||
return;
|
||||
|
||||
currentPlayerCollider = playerCollider;
|
||||
currentEnemyCollider = enemyCollider;
|
||||
|
||||
enemyCollider.gameObject.GetComponent<SpriteRenderer>().enabled = false;
|
||||
enemyCollider.gameObject.GetComponent<BugMovement>().DisableMovement();
|
||||
|
||||
player.StartEncounter();
|
||||
Physics2D.IgnoreCollision(playerCollider, enemyCollider, true);
|
||||
|
||||
@@ -160,10 +174,18 @@ public class EventControls : MonoBehaviour
|
||||
currentEventControl = null;
|
||||
if (eventControlTilesInCycle.Where(x => !x.isPlusTile && !x.isPerformed).Count() == 0)
|
||||
{
|
||||
numberOfEventsCount++;
|
||||
eventTriggered = false;
|
||||
eventCycleAccumalator = 0;
|
||||
// Destroy(currentEnemyCollider.gameObject);
|
||||
// currentEnemyCollider = null;
|
||||
|
||||
if (maxNumberOfControlTiles == numberOfEventsCount)
|
||||
{
|
||||
player.EndEncounter();
|
||||
isInBattle = false;
|
||||
// Destroy(currentEnemyCollider.gameObject);
|
||||
// currentEnemyCollider = null;
|
||||
hasFailed = false;
|
||||
}
|
||||
}
|
||||
|
||||
return;
|
||||
@@ -174,9 +196,16 @@ public class EventControls : MonoBehaviour
|
||||
isInBattle = false;
|
||||
eventCycleAccumalator = 0;
|
||||
currentEventControl = null;
|
||||
|
||||
numberOfEventsCount = 0;
|
||||
hasFailed = true;
|
||||
|
||||
player.ThrowUserInTheAirHurt();
|
||||
SoundManagerScript.PlaySound("bug laugh");
|
||||
|
||||
currentEnemyCollider.gameObject.GetComponent<SpriteRenderer>().enabled = true;
|
||||
currentEnemyCollider.gameObject.GetComponent<BugMovement>().EnableMovement();
|
||||
player.EndEncounter();
|
||||
|
||||
return;
|
||||
}
|
||||
else if (FailedToClickCorrect(currentEventControl.keyCode))
|
||||
@@ -187,8 +216,15 @@ public class EventControls : MonoBehaviour
|
||||
isInBattle = false;
|
||||
eventCycleAccumalator = 0;
|
||||
currentEventControl = null;
|
||||
numberOfEventsCount = 0;
|
||||
hasFailed = true;
|
||||
|
||||
player.ThrowUserInTheAirHurt();
|
||||
|
||||
currentEnemyCollider.gameObject.GetComponent<SpriteRenderer>().enabled = true;
|
||||
currentEnemyCollider.gameObject.GetComponent<BugMovement>().EnableMovement();
|
||||
player.EndEncounter();
|
||||
|
||||
SoundManagerScript.PlaySound("bug laugh");
|
||||
return;
|
||||
}
|
||||
@@ -206,16 +242,26 @@ public class EventControls : MonoBehaviour
|
||||
eventDrawn = false;
|
||||
numberOfControlTilesSet = 0;
|
||||
|
||||
if (currentEnemyCollider != null)
|
||||
Physics2D.IgnoreCollision(currentPlayerCollider, currentEnemyCollider, false);
|
||||
if (!isInBattle)
|
||||
if (maxNumberOfControlTiles == numberOfEventsCount)
|
||||
{
|
||||
currentEnemyCollider.gameObject.GetComponent<SpriteRenderer>().enabled = true;
|
||||
player.EndEncounter();
|
||||
}
|
||||
if (currentEnemyCollider != null && hasFailed)
|
||||
Physics2D.IgnoreCollision(currentPlayerCollider, currentEnemyCollider, false);
|
||||
|
||||
currentPlayerCollider = null;
|
||||
currentEnemyCollider = null;
|
||||
numberOfEventsCount = 0;
|
||||
currentPlayerCollider = null;
|
||||
currentEnemyCollider = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
eventTriggered = true && !hasFailed;
|
||||
isInBattle = true && !hasFailed;
|
||||
|
||||
if (hasFailed)
|
||||
{
|
||||
if (currentEnemyCollider != null)
|
||||
Physics2D.IgnoreCollision(currentPlayerCollider, currentEnemyCollider, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -20,6 +20,7 @@ public class Player : MonoBehaviour
|
||||
|
||||
private int currentHealth;
|
||||
private int currentStamina;
|
||||
private float staminaInitialSize;
|
||||
|
||||
[SerializeField] private SpriteRenderer healthBar;
|
||||
[SerializeField] private SpriteRenderer staminaBar;
|
||||
@@ -37,10 +38,11 @@ public class Player : MonoBehaviour
|
||||
rigidBody = GetComponent<Rigidbody2D>();
|
||||
collider = GetComponent<Collider2D>();
|
||||
animator = GetComponent<Animator>();
|
||||
currentHealth = startHealth;
|
||||
currentStamina = startStamina;
|
||||
currentHealth = 1; // startHealth;
|
||||
currentStamina = 50; // startStamina;
|
||||
healthBar.size = new Vector2(1.5f * startHealth, healthBar.size.y);
|
||||
staminaBar.size = new Vector2(staminaBar.size.x, staminaBar.size.y);
|
||||
staminaInitialSize = staminaBar.size.x;
|
||||
staminaBar.size = new Vector2(staminaInitialSize * 0.5f, staminaBar.size.y);
|
||||
}
|
||||
|
||||
private void Update()
|
||||
@@ -91,7 +93,8 @@ public class Player : MonoBehaviour
|
||||
SoundManagerScript.PlaySound("drink");
|
||||
int result = currentStamina + GetStaminaValueChange(coffeValuePercent);
|
||||
currentStamina = result < startStamina ? result : startStamina;
|
||||
staminaBar.size = new Vector2(staminaBar.size.x * (currentStamina/startStamina), staminaBar.size.y);
|
||||
float multiplier = currentStamina * 1f / startStamina;
|
||||
staminaBar.size = new Vector2(staminaInitialSize * multiplier, staminaBar.size.y);
|
||||
}
|
||||
|
||||
private void DecreaseStaminaAfterBugFight()
|
||||
@@ -252,5 +255,6 @@ public class Player : MonoBehaviour
|
||||
{
|
||||
isPlayerHurt = true;
|
||||
GetComponent<Rigidbody2D>().velocity += new Vector2(Mathf.Sign(transform.localScale.x) * -1 * hurtVelocity, hurtVelocity);
|
||||
isFighting = false;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user