Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • eolokk/game_jam19
  • lejugr/game_jam19
  • tmpoht/game_jam19
  • kjahei/game_jam19
  • makalo/game_jam19
5 results
Show changes
Showing
with 356 additions and 54 deletions
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CollectorMover : MonoBehaviour
{
[SerializeField]
Sprite[] sprites = null;
Collector col;
// Start is called before the first frame update
void Start()
{
col = gameObject.GetComponent<Collector>();
}
// Update is called once per frame
void Update()
{
if (col.GetMoveToTarget() == null) return;
//Vector3 target = Camera.main.ScreenToWorldPoint(Input.mousePosition);
Vector3 target = col.GetMoveToTarget().transform.position;
Vector3 dir = target - transform.position;
GameObject go = new GameObject();
go.transform.position = target;
dir = go.transform.InverseTransformDirection(dir);
float angle = Mathf.Atan2(dir.y, dir.x) * Mathf.Rad2Deg;
angle += 22.5f;
Destroy(go);
SpriteRenderer rd = gameObject.GetComponent<SpriteRenderer>();
if(angle > -180 && angle < -135f)
{
rd.sprite = sprites[3];
}
else if (angle > -135f && angle < -90f)
{
rd.sprite = sprites[1];
}
else if (angle > -90f && angle < -45f)
{
rd.sprite = sprites[0];
}
else if (angle > -45f && angle < 0f)
{
rd.sprite = sprites[2];
}
else if (angle > 0f && angle < 45f)
{
rd.sprite = sprites[4];
}
else if (angle > 45f && angle < 90f)
{
rd.sprite = sprites[6];
}
else if (angle > 90f && angle < 135f) {
rd.sprite = sprites[7];
}
else if (angle > 135f && angle < 180f)
{
rd.sprite = sprites[5];
}
else
{
rd.sprite = sprites[3];
}
}
}
fileFormatVersion: 2
guid: 266b3ace213eb154d80f94023b63eabb
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
......@@ -10,7 +10,10 @@ public enum EventType
CitySmall,
CityBig,
HuntingSmall,
HuntingBig,
HuntingBig,
WinMusic,
MenuMusic,
Ultimate,
//effects
WoodChopped,
StoneCut,
......
......@@ -7,6 +7,10 @@ public class Flag : MonoBehaviour
[SerializeField]
private GameObject Worker;
private void Start()
{
StartCoroutine("resize");
}
public void SetWorker(GameObject w)
{
this.Worker = w;
......@@ -15,4 +19,15 @@ public class Flag : MonoBehaviour
{
return this.Worker;
}
private IEnumerator resize() {
int multiplier = 1;
while (true) {
for (int i = 0; i < 100; i++) {
yield return new WaitForSeconds(0.01f);
transform.localScale = transform.localScale + new Vector3(0.01f,0.01f,0)*multiplier;
}
multiplier *= -1;
}
}
}
fileFormatVersion: 2
guid: cf62eacc43e8a40469118b61f12a5364
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MoveRandomly : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
StartCoroutine("moveAround");
}
private IEnumerator moveAround() {
while (true)
{
float moveTime = Random.value * 2;
float timeSpent = 0;
Vector3 direction = new Vector3(Random.value*2-1,Random.value*2-1, 0);
while (timeSpent < moveTime)
{
transform.position = transform.position + direction*0.01f;
yield return null;
timeSpent += Time.deltaTime;
}
}
}
}
fileFormatVersion: 2
guid: d3063605b31636c4e9998676be17db5d
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class WinGame : MonoBehaviour
{
[SerializeField]
private GameObject housePrefab = null;
[SerializeField]
private GameObject workerPrefab = null;
private List<GameObject> houses = new List<GameObject>();
void Start()
{
StartCoroutine("MoveCamera");
StartCoroutine("EndGame");
}
private IEnumerator MoveCamera()
{
while (Camera.main.orthographicSize < 9f) {
Camera.main.orthographicSize += 0.01f;
yield return null;
}
}
private IEnumerator EndGame()
{
EventSystem.EventHappened(EventType.TimePeriodChanged);
float spawnRate = 5f;
int count = 0;
while (count < 9)
{
GameObject go = Instantiate<GameObject>(housePrefab);
Destroy(go.GetComponent<BoxCollider2D>());
houses.Add(go);
go.transform.position = new Vector3(Random.Range(1f, 14f), Random.Range(1f, 14f),-5);
spawnRate -= 0.5f;
yield return new WaitForSeconds(spawnRate);
count++;
}
for (int i = 0; i < 10; i++) {
GameObject go = Instantiate<GameObject>(housePrefab);
Destroy(go.GetComponent<BoxCollider2D>());
houses.Add(go);
go.transform.position = new Vector3(Random.Range(1f, 14f), Random.Range(1f, 14f), -5);
yield return new WaitForSeconds(spawnRate);
}
count = 0;
EventSystem.EventHappened(EventType.WinMusic);
while (count < 150)
{
GameObject go = Instantiate<GameObject>(workerPrefab);
int index = Random.Range(0, houses.Count);
go.transform.position = houses[index].transform.position;
go.AddComponent<MoveRandomly>();
Destroy(go.GetComponent<Collector>());
Destroy(go.GetComponent<Rigidbody2D>());
yield return new WaitForSeconds(0.1f);
count++;
}
}
}
fileFormatVersion: 2
guid: d3674a5cdecf6e14abe5d88e6f0f7618
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
......@@ -13,8 +13,6 @@ public class GroundGenerator : MonoBehaviour
private GameObject[] resourceGOs = null;
[SerializeField]
private GameObject homeGO = null;
[SerializeField]
private GameObject workerGO = null;
private int food = 2;
private int stone = 3;
......@@ -63,15 +61,15 @@ public class GroundGenerator : MonoBehaviour
if (Random.value < 0.10f)
{
ground[x, y] = 2;
ground[x, y] = wood;
}
if (Random.value < 0.10f)
{
ground[x, y] = 3;
ground[x, y] = stone;
}
if (Random.value < 0.10f)
{
ground[x, y] = 4;
ground[x, y] = food;
}
}
void createGround()
......@@ -150,8 +148,8 @@ public class GroundGenerator : MonoBehaviour
private void createHome() {
ground[ground.GetLength(0) / 2, ground.GetLength(1) / 2] = home;
spawn(homeGO, houseCoords[0], houseCoords[1], houseDepth);
spawn(workerGO, houseCoords[0], houseCoords[1], workerDepth);
GameObject go = spawn(homeGO, houseCoords[0], houseCoords[1], houseDepth);
go.GetComponent<City>().AddCollector();
}
private GameObject spawn(GameObject go, int x, int y, int z) {
return Instantiate<GameObject>(go, new Vector3(x, y, z), Quaternion.identity);
......
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MenuSript : MonoBehaviour
{
[SerializeField]
private GameObject playButton;
[SerializeField]
private GameObject exitButton;
private void OnMouseDown() {
if (gameObject == exitButton) {
Application.Quit();
}
if (gameObject == playButton) {
UnityEngine.SceneManagement.SceneManager.LoadScene(1);
}
}
}
fileFormatVersion: 2
guid: 6b987107b9a225144a51d7e298dbf2aa
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
......@@ -17,8 +17,8 @@ public class BerryBush : Resource
private IEnumerator timer()
{
yield return new WaitForSeconds(3);
setAmount(500);
yield return new WaitForSeconds(600);
setAmount(50);
coroutineRunning = false;
......@@ -32,23 +32,24 @@ public class BerryBush : Resource
public override void refreshSprite()
{
if (sprites == null) return;
if (getAmount() < 1)
{
gameObject.GetComponent<SpriteRenderer>().sprite = sprites[5];
}
else if (getAmount() < 100)
else if (getAmount() <= 10)
{
gameObject.GetComponent<SpriteRenderer>().sprite = sprites[4];
}
else if (getAmount() < 200)
else if (getAmount() <= 20)
{
gameObject.GetComponent<SpriteRenderer>().sprite = sprites[3];
}
else if (getAmount() < 300)
else if (getAmount() <= 30)
{
gameObject.GetComponent<SpriteRenderer>().sprite = sprites[2];
}
else if (getAmount() < 400)
else if (getAmount() <= 40)
{
gameObject.GetComponent<SpriteRenderer>().sprite = sprites[1];
}
......@@ -62,7 +63,7 @@ public class BerryBush : Resource
void Start()
{
setEventType(EventType.Berrypicked);
setAmount(500);
setAmount(50);
}
// Update is called once per frame
......
......@@ -12,41 +12,42 @@ public class Forest : Resource
isForester = i;
if (isForester == true)
{
growthspeed = 0.5f;
growthspeed = 3f;
}
else
{
growthspeed = 1f;
growthspeed = 5f;
}
}
public override void refreshSprite()
{
if (getAmount() < 125)
if (sprites == null) return;
if (getAmount() < 25)
{
gameObject.GetComponent<SpriteRenderer>().sprite = sprites[7];
}
else if (getAmount() < 250)
else if (getAmount() < 50)
{
gameObject.GetComponent<SpriteRenderer>().sprite = sprites[6];
}
else if (getAmount() < 375)
else if (getAmount() < 75)
{
gameObject.GetComponent<SpriteRenderer>().sprite = sprites[5];
}
else if (getAmount() < 500)
else if (getAmount() < 100)
{
gameObject.GetComponent<SpriteRenderer>().sprite = sprites[4];
}
else if (getAmount() < 625)
else if (getAmount() < 125)
{
gameObject.GetComponent<SpriteRenderer>().sprite = sprites[3];
}
else if (getAmount() < 750)
else if (getAmount() < 150)
{
gameObject.GetComponent<SpriteRenderer>().sprite = sprites[2];
}
else if (getAmount() < 875)
else if (getAmount() < 175)
{
gameObject.GetComponent<SpriteRenderer>().sprite = sprites[1];
}
......@@ -60,7 +61,7 @@ public class Forest : Resource
{
if (getAmount() < 1)
{
Destroy(gameObject);
gameObject.SetActive(false);
}
}
......@@ -68,21 +69,15 @@ public class Forest : Resource
void Start()
{
setEventType(EventType.WoodChopped);
setAmount(Random.Range(50, 300));
setAmount(Random.Range(50, 70));
isForester = false;
growthspeed = 1;
growthspeed = 3f;
StartCoroutine("Grow");
}
// Update is called once per frame
void Update()
{
}
IEnumerator Grow()
{
while (getAmount() < 1000)
while (getAmount() < 200)
{
setAmount(getAmount() + 1);
yield return new WaitForSeconds(growthspeed);
......
......@@ -8,9 +8,18 @@ public class Outcrop : MonoBehaviour
[SerializeField]
private int wood;
private int woodNeeded = 100;
private GameObject quarry;
private readonly int woodNeeded = 100;
[SerializeField]
private GameObject quarry =null;
[SerializeField]
private Resource neededResource =null;
public Resource getNeededResource()
{
return neededResource;
}
public int getAmount()
{
......@@ -19,16 +28,16 @@ public class Outcrop : MonoBehaviour
public void setAmount(int amount)
{
wood += amount;
wood = amount;
}
public void checkExistence()
{
if (getAmount() >= 100)
if (getAmount() >= woodNeeded)
{
GameObject go = Instantiate<GameObject>(quarry);
go.transform.position = this.transform.position;
Destroy(gameObject);
gameObject.SetActive(false);
}
}
......@@ -36,18 +45,20 @@ public class Outcrop : MonoBehaviour
{
setAmount(getAmount() + amount);
checkExistence();
woodNeeded -= getAmount();
}
public int stillNeeded()
{
return woodNeeded;
return woodNeeded-wood;
}
// Start is called before the first frame update
void Start()
{
setAmount(0);
GameObject go = new GameObject();
neededResource = go.AddComponent<Forest>();
neededResource.enabled = false;
}
// Update is called once per frame
......
......@@ -9,29 +9,30 @@ public class Quarry : Resource
{
if (getAmount() < 1)
{
Destroy(gameObject);
gameObject.SetActive(false);
}
}
public override void refreshSprite()
{
if (getAmount() < 100)
if (sprites == null) return;
if (getAmount() < 50)
{
gameObject.GetComponent<SpriteRenderer>().sprite = sprites[5];
}
else if (getAmount() < 200)
else if (getAmount() < 166)
{
gameObject.GetComponent<SpriteRenderer>().sprite = sprites[4];
}
else if (getAmount() < 300)
else if (getAmount() < 333)
{
gameObject.GetComponent<SpriteRenderer>().sprite = sprites[3];
}
else if (getAmount() < 400)
else if (getAmount() < 500)
{
gameObject.GetComponent<SpriteRenderer>().sprite = sprites[2];
}
else if (getAmount() < 500)
else if (getAmount() < 633)
{
gameObject.GetComponent<SpriteRenderer>().sprite = sprites[1];
}
......@@ -44,8 +45,8 @@ public class Quarry : Resource
// Start is called before the first frame update
void Start()
{
setAmount(Random.Range(2000, 4000));
setEventType(EventType.StoneCut);
setAmount(Random.Range(500, 800));
}
// Update is called once per frame
......
......@@ -41,7 +41,9 @@ public abstract class Resource : MonoBehaviour
{
return resources;
}
// Soittaa resurssin keruuseen liittyvän äänen sekä vähentää resurssista annetun määrän yksiköitä tai asettaa määrän nollaan,
// mikäli vähennettävä arvo on suurempi kuin resurssiyksiköiden senhetkinen määrä. Palauttaa resurssin vähennetyn määrän.
public int extractResource(int amount)
{
EventSystem.EventHappened(getEventType());
......@@ -58,10 +60,9 @@ public abstract class Resource : MonoBehaviour
}
}
// Metodi spriten päivitystä varten.
public abstract void refreshSprite();
// Metodi jolla tarkistetaan resurssien olemassaolon ehdot ja suoritetaan tarvittavat toimenpiteet.
public abstract void checkExistence();
}
fileFormatVersion: 2
guid: 6c8bd6d1b4693cf40af60b640e73f52b
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Border : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
private void OnMouseEnter()
{
Destroy(transform.parent.gameObject);
}
}
fileFormatVersion: 2
guid: 9dfa4cb8b74a55949bb9087ebc8eafef
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: