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 1880 additions and 66 deletions
fileFormatVersion: 2
guid: b3fc5a2829ee9c34d9184cee2b3d9088
guid: 782780faed4d8b1409a6034453c0627c
DefaultImporter:
externalObjects: {}
userData:
......
This diff is collapsed.
......@@ -10,8 +10,10 @@ public class AudioSystem : MonoBehaviour, IAction
private List<AudioClip> musics = new List<AudioClip>();
[SerializeField]
private AudioSource ac;
private AudioSource ac = null;
// Start is called before the first frame update
void Start()
{
......@@ -22,16 +24,11 @@ public class AudioSystem : MonoBehaviour, IAction
React(EventType.GameStarts);
}
// Update is called once per frame
void Update()
{
}
public void React(EventType type) {
if (type == EventType.GameStarts)
{
GameStartsClip();
GameStartsClip();
}
if (type == EventType.CitySmall)
{
......@@ -51,36 +48,86 @@ public class AudioSystem : MonoBehaviour, IAction
}
if (type == EventType.WoodChopped)
{
WoodClip();
}
if (type == EventType.StoneCut)
{
StoneClip();
}
if (type == EventType.Berrypicked)
{
BerryClip();
}
if (type == EventType.UpgradeBuilt)
{
UpgradeClip();
}
if (type == EventType.TimePeriodChanged)
{
FanfareClip();
}
if (type == EventType.WinMusic)
{
WinClip();
}
if (type == EventType.Ultimate)
{
UltimateClip();
}
}
public void GameStartsClip()
{
StartCoroutine("FadeOutIn", new Timing(0,0));
StartCoroutine("PlayEffect", 6);
StartCoroutine("FadeOutIn", new Timing(1, 1));
}
public void CitySmallClip()
{
StartCoroutine("FadeOutIn", new Timing(3, 1));
StartCoroutine("FadeOutIn", new Timing(2, 1));
}
public void CityBigClip()
{
StartCoroutine("FadeOutIn", new Timing(3, 2));
StartCoroutine("FadeOutIn", new Timing(1, 2));
}
public void HuntingSmallClip()
{
StartCoroutine("FadeOutIn", new Timing(2, 4));
StartCoroutine("FadeOutIn", new Timing(1, 3));
}
public void HuntingBigClip()
{
StartCoroutine("FadeOutIn", new Timing(2, 6));
StartCoroutine("FadeOutIn", new Timing(1, 5));
}
public void WoodClip()
{
StartCoroutine("PlayEffect", 7);
}
public void StoneClip()
{
StartCoroutine("PlayEffect", 8);
}
public void BerryClip()
{
StartCoroutine("PlayEffect", 9);
}
public void UpgradeClip()
{
StartCoroutine("PlayEffect", 4);
}
public void FanfareClip()
{
StartCoroutine("FadeOutIn", new Timing(0, 0));
}
public void WinClip()
{
StartCoroutine("FadeOutIn", new Timing(1, 10));
}
public void UltimateClip()
{
StartCoroutine("FadeOutIn", new Timing(1, 11));
}
IEnumerator FadeOutIn(Timing t) {
//yield return FadeOut(t.duration);
yield return StartCoroutine("FadeOut", t.duration);
......@@ -115,13 +162,20 @@ public class AudioSystem : MonoBehaviour, IAction
{
float current = Time.time - start;
//(max-current)/(max-min)
float volume = (end - Time.time) / (end - start);
float volume = (Time.time - start) / (end - start);
yield return null;
ac.volume = volume;
}
ac.volume = 1;
}
public IEnumerator PlayEffect(int clip)
{
AudioSource v = gameObject.AddComponent<AudioSource>();
v.clip = musics[clip];
v.Play();
yield return new WaitForSeconds(v.clip.length);
Destroy(v);
}
......
fileFormatVersion: 2
guid: 4b04fbdc1f3c8524291d53c73f8a7ca1
guid: c45a1140d8e06dd4c8f916b8a8d9b63d
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
......
......@@ -5,6 +5,19 @@ using UnityEngine;
public class City : MonoBehaviour
{
[SerializeField]
Sprite[] sprites;
private int spriteIndex = 0;
[SerializeField]
GameObject respanelPrefab;
[SerializeField]
GameObject resrowPrefab;
[SerializeField]
List<GameObject> workerlista;
[SerializeField]
GameObject worker;
......@@ -20,16 +33,21 @@ public class City : MonoBehaviour
[SerializeField]
public int roadLevel = 0;
public int paneelienmaara = 0;
[SerializeField]
public int collectorLevel = 0;
GameObject shopPreFab;
// Start is called before the first frame update
void Start()
{
}
/**
* Palauttaa kysytyn targetin levelin
*/
public int GetLevel(UpgradeTargets target)
{
switch (target)
......@@ -41,7 +59,7 @@ public class City : MonoBehaviour
case UpgradeTargets.speed:
return this.roadLevel;
case UpgradeTargets.collector:
return this.collectorLevel;
return this.workerlista.Count;
default:
Debug.Log("Default");
return -1;
......@@ -50,12 +68,19 @@ public class City : MonoBehaviour
return 1;
}
/**
* Lisaa uuden collecotrin
*/
public void AddCollector()
{
GameObject go = Instantiate<GameObject>(worker);
this.workerlista.Add(go);
go.transform.position = new Vector3(gameObject.transform.position.x, gameObject.transform.position.y);
go.transform.position = new Vector3();
this.population++;
}
......@@ -63,28 +88,53 @@ public class City : MonoBehaviour
* Kayttaa resurssia r, maaran 'amount' verran (amount >= 0).
* Voidaan kayttaa maximissaan sen verran resursseja mita niita on kaytossa.
*/
public void UseResource(Resource r, int amount)
public int UseResource(Resource r, int amount)
{
if (amount<0)
{
return;
return 0;
}
int otettuMaara = 0;
ResourcePool[] lista = gameObject.GetComponents<ResourcePool>();
for (int i = 0; i < lista.Length; i++)
{
if (lista[i].GetResource().GetType().Equals(r.GetType()))
{
lista[i].UseResource(amount);
otettuMaara = lista[i].UseResource(amount);
}
}
return otettuMaara;
}
public void AddPopulation(int v)
{
spriteIndex = Math.Min(spriteIndex+1, sprites.Length-1);
this.population += v;
gameObject.GetComponent<SpriteRenderer>().sprite = sprites[spriteIndex];
if(spriteIndex == 1)
EventSystem.EventHappened(EventType.CityBig);
else if (spriteIndex == 2)
EventSystem.EventHappened(EventType.HuntingSmall);
else if (spriteIndex == 3)
EventSystem.EventHappened(EventType.HuntingBig);
else if (spriteIndex == 4)
EventSystem.EventHappened(EventType.Ultimate);
}
private void Update()
{
if (Input.GetKey(KeyCode.S))
{
GameObject go = new GameObject();
Quarry q = go.AddComponent<Quarry>();
AddResource(q, 4000);
AddResource(go.AddComponent<Forest>(), 4000);
AddResource(go.AddComponent<BerryBush>(), 4000);
}
}
/**
* Lisaa resurssia r, maaran 'amount' verran (amount >= 0).
* Voidaan lisata maximissaan resurssin maximikapasiteettiin asti,
......@@ -93,12 +143,12 @@ public class City : MonoBehaviour
*/
public void AddResource(Resource r, int amount)
{
if (amount<0)
if (r == null || amount < 0)
{
return;
}
ResourcePool[] lista = gameObject.GetComponents<ResourcePool>();
for (int i = 0; i < lista.Length; i++)
{
if (lista[i].GetResource().GetType().Equals(r.GetType()))
......@@ -110,8 +160,49 @@ public class City : MonoBehaviour
ResourcePool respool = gameObject.AddComponent<ResourcePool>();
respool.SetResource(r);
respool.AddResource(amount);
if (paneelienmaara == 0)
{
GameObject respanel = Instantiate<GameObject>(respanelPrefab);
paneelienmaara++;
}
float x = gameObject.transform.position.x;
float y = gameObject.transform.position.y + 1f - lista.Length * 0.5f;
float z = gameObject.transform.position.z;
GameObject resrow = Instantiate<GameObject>(resrowPrefab);
resrow.GetComponent<ResourceRow>().SetRow(r, x - 2f, y, z);
}
public void UpgradeWorkerSpeed() {
foreach (GameObject go in workerlista) {
go.GetComponent<Collector>().speed += 1;
}
}
public bool IsSufficientResources(List<Resource> lista, int amount)
{
ResourcePool[] poolit = gameObject.GetComponents<ResourcePool>();
List<Resource> resurssit = new List<Resource>(lista);
for (int i = 0; i < lista.Count; i++)
{
for (int j = 0; j < poolit.Length; j++)
{
if (poolit[j].GetResource().GetType().Equals(lista[i].GetType()))
{
for(int k = 0; k<resurssit.Count; k++)
{
if (resurssit[k].GetType().Equals(lista[i].GetType()))
resurssit.RemoveAt(k);
}
if (poolit[j].GetAmount() < amount)
{
return false;
}
}
}
}
return resurssit.Count == 0;
}
/**
* Lisaa kaikkien resurssipoolien maxKapasiteettia x:n verran
*/
......@@ -133,4 +224,13 @@ public class City : MonoBehaviour
UseResource(lista[i].GetResource(), a[0]);
}
}
public List<GameObject> GetWorkerList()
{
return workerlista;
}
private void OnMouseEnter()
{
GameObject go = Instantiate<GameObject>(shopPreFab);
go.transform.SetParent(transform);
}
}
fileFormatVersion: 2
guid: dfe928a858872424991e927606dd4bc3
guid: f67208887d2c19940b9afdc55a275b38
MonoImporter:
externalObjects: {}
serializedVersion: 2
......
......@@ -2,31 +2,27 @@
using System.Collections.Generic;
using UnityEngine;
public class Quarry : Resource
public class ResourcePanel : MonoBehaviour
{
public override void checkExistence()
{
if (resources < 1)
{
Destroy(gameObject);
}
}
public override void refreshSprite()
{
}
// Start is called before the first frame update
void Start()
{
resources = Random.Range(2000, 4000);
}
// Update is called once per frame
void Update()
{
ResourcePool[] lista = gameObject.GetComponents<ResourcePool>();
for (int i = 0; i < lista.Length; i++)
{
UpdatePanel(lista[i]);
}
}
public void UpdatePanel(ResourcePool respool)
{
}
}
fileFormatVersion: 2
guid: 8430aaccc9adbd74c93d8d100f8d421a
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
fileFormatVersion: 2
guid: d5f9cff662cdcb44d9481366eacfa431
guid: 1553b23dd4cf4794a91e075e2f2478f9
MonoImporter:
externalObjects: {}
serializedVersion: 2
......
This diff is collapsed.
fileFormatVersion: 2
guid: bd508a1c9a5505c498ef74ef59a55518
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Cloud : MonoBehaviour
{
private void Start()
{
transform.localScale = new Vector3(Random.Range(2f, 5f), Random.Range(2f, 5f), 1);
}
void Update()
{
float x = transform.position.x;
transform.position = new Vector3(x-0.1f, transform.position.y, transform.position.z);
}
private void OnBecameInvisible()
{
Destroy(gameObject);
}
}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.