Space Dance and Crop Stomp visual improvements + canvasScroll (#450)

* sprites1

* papapapunch

* dancers sheet done

* crop stomp

* Particulate

* Added veggie bag and particle to crop stomp, wip though

* Space dance scrolling background has been added

* cool

* Canvas Scroll hype

* Canvas scroll implemented in space soccer

* 4k

* gramps wip

* more

* assbun conflict fixed + long hair fix

* Space dance bop modernization and fixes

* ok

* sprites done

* wait.

* fixed space dance stuff

* Made miss return to idle

* catchy tune 3

* epic

---------

Co-authored-by: ev <85412919+evdial@users.noreply.github.com>
Co-authored-by: minenice55 <star.elementa@gmail.com>
This commit is contained in:
Rapandrasmus
2023-06-06 20:59:56 +02:00
committed by GitHub
parent c5f5b6d800
commit efa8378797
90 changed files with 9459 additions and 1392 deletions

View File

@ -14,9 +14,37 @@ namespace HeavenStudio.Games.Scripts_CropStomp
PlayerActionEvent stomp;
[SerializeField] private Transform collectedHolder;
[SerializeField] private GameObject plantLeftRef;
[SerializeField] private GameObject plantRightRef;
private List<GameObject> spawnedPlants = new List<GameObject>();
[SerializeField] private float plantDistance = 0.5f;
public int plantThreshold = 8;
public int plantLimit = 80;
private static int collectedPlants = 0;
private void OnDestroy()
{
if (!Conductor.instance.isPlaying)
{
collectedPlants = 0;
UpdatePlants();
}
}
public void Init()
{
game = CropStomp.instance;
if (!Conductor.instance.isPlaying)
{
collectedPlants = 0;
}
UpdatePlants();
}
private void Update()
@ -40,6 +68,33 @@ namespace HeavenStudio.Games.Scripts_CropStomp
}
}
public void CollectPlant()
{
if (collectedPlants >= plantLimit) return;
collectedPlants++;
UpdatePlants();
}
public void UpdatePlants()
{
if (spawnedPlants.Count > 0)
{
foreach (var plant in spawnedPlants)
{
Destroy(plant);
}
spawnedPlants.Clear();
}
for (int i = 0; i < collectedPlants && i < plantLimit; i += plantThreshold)
{
GameObject spawnedPlant = Instantiate(((i / plantThreshold) % 2 == 0) ? plantRightRef : plantLeftRef, collectedHolder);
spawnedPlant.transform.localPosition = new Vector3(0, (i / plantThreshold) * plantDistance + plantDistance, 0);
spawnedPlant.GetComponent<SpriteRenderer>().sortingOrder = (i / plantThreshold) - 2;
spawnedPlant.SetActive(true);
spawnedPlants.Add(spawnedPlant);
}
}
private void Just(PlayerActionEvent caller, float state)
{
// REMARK: does not count for performance
@ -73,6 +128,7 @@ namespace HeavenStudio.Games.Scripts_CropStomp
{
game.Stomp();
game.bodyAnim.Play("Stomp", 0, 0);
}
nextStompBeat += 2f;
stomp?.Disable();