fix conflicts

This commit is contained in:
chyknkat
2020-02-02 10:37:55 -05:00
19 changed files with 2666 additions and 44334 deletions

View File

@@ -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;
}
}

View File

@@ -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
{

View File

@@ -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;
}
}