Initial. Added files
This commit is contained in:
77
Assets/Scripts/Misc/FlagZone.cs
Executable file
77
Assets/Scripts/Misc/FlagZone.cs
Executable file
@ -0,0 +1,77 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class FlagZone : MonoBehaviour
|
||||
{
|
||||
[SerializeField]
|
||||
public float TimeStayAttackers { get; private set; }
|
||||
public float TimeStayDefenders { get; private set; }
|
||||
private int occupDefenders;
|
||||
private int occupAttackers;
|
||||
private bool isOccupBoth => (occupDefenders>0) && (occupAttackers>0);
|
||||
private bool isNotOccup => (occupDefenders == 0) && (occupAttackers == 0);
|
||||
private float timeForWin;
|
||||
|
||||
private void Start()
|
||||
{
|
||||
|
||||
timeForWin = SettingsReader.Instance.GetSettings.timeToWin;
|
||||
Debug.Log("32");
|
||||
TimeStayAttackers = 0;
|
||||
TimeStayDefenders = 0;
|
||||
occupAttackers = 0;
|
||||
occupDefenders = 0;
|
||||
}
|
||||
private void OnTriggerEnter(Collider other)
|
||||
{
|
||||
switch(other.tag)
|
||||
{
|
||||
case "Defender":
|
||||
occupDefenders++;
|
||||
break;
|
||||
case "Attacker":
|
||||
occupAttackers++;
|
||||
break;
|
||||
default:
|
||||
Debug.LogWarning("Entered non-team entity");
|
||||
break;
|
||||
}
|
||||
}
|
||||
private void OnTriggerExit(Collider other)
|
||||
{
|
||||
switch (other.tag)
|
||||
{
|
||||
case "Defender":
|
||||
occupDefenders--;
|
||||
break;
|
||||
case "Attacker":
|
||||
occupAttackers--;
|
||||
break;
|
||||
default:
|
||||
Debug.LogWarning("Exited non-team entity");
|
||||
break;
|
||||
}
|
||||
}
|
||||
private void Update()
|
||||
{
|
||||
if (isOccupBoth || isNotOccup)
|
||||
{
|
||||
TimeStayAttackers = 0;
|
||||
TimeStayDefenders = 0;
|
||||
return;
|
||||
}
|
||||
else if (occupAttackers > 0)
|
||||
{
|
||||
TimeStayAttackers += Time.deltaTime;
|
||||
if (TimeStayAttackers > timeForWin)
|
||||
GlobalEventManager.SendCaptureFlag(Team.Attackers);
|
||||
}
|
||||
else
|
||||
{
|
||||
TimeStayDefenders += Time.deltaTime;
|
||||
if (TimeStayDefenders > timeForWin)
|
||||
GlobalEventManager.SendCaptureFlag(Team.Defenders);
|
||||
}
|
||||
}
|
||||
}
|
11
Assets/Scripts/Misc/FlagZone.cs.meta
generated
Executable file
11
Assets/Scripts/Misc/FlagZone.cs.meta
generated
Executable file
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6063c9db39fbafe4eb31a4a1bf09b641
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
27
Assets/Scripts/Misc/NavPoint.cs
Executable file
27
Assets/Scripts/Misc/NavPoint.cs
Executable file
@ -0,0 +1,27 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class NavPoint : MonoBehaviour
|
||||
{
|
||||
public Vector3 position => gameObject.transform.position;
|
||||
public float FlagDistance { get; private set; }
|
||||
[System.NonSerialized] public float DeathAttr;
|
||||
[System.NonSerialized] public List<Vector3> EnemiesSeen;
|
||||
//Here other attributes;
|
||||
|
||||
[SerializeField]
|
||||
public int PointId;
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
//DO NOT DELETE
|
||||
}
|
||||
|
||||
private void Start()
|
||||
{
|
||||
FlagDistance = (GameObject.FindGameObjectWithTag("Flag").transform.position - position).magnitude;
|
||||
EnemiesSeen = new List<Vector3>();
|
||||
DeathAttr = 0;
|
||||
}
|
||||
}
|
11
Assets/Scripts/Misc/NavPoint.cs.meta
generated
Executable file
11
Assets/Scripts/Misc/NavPoint.cs.meta
generated
Executable file
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 6a2d29bfc31a8cf4e831e3bb80720414
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 10
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
24
Assets/Scripts/Misc/Settings.cs
Executable file
24
Assets/Scripts/Misc/Settings.cs
Executable file
@ -0,0 +1,24 @@
|
||||
using UnityEngine;
|
||||
|
||||
[CreateAssetMenu(fileName ="Game Settings", menuName = "Game/Settings", order = 51)]
|
||||
public class Settings : ScriptableObject
|
||||
{
|
||||
public float timeToWin;
|
||||
public float timeOut;
|
||||
|
||||
[Header("movement")]
|
||||
public float movementDistance;
|
||||
public float movementSpeed;
|
||||
|
||||
public TypeAI defTeamAI;
|
||||
public TypeAI atcTeamAI;
|
||||
public int numOfDefenders;
|
||||
public int numOfAttackers;
|
||||
public bool hasHumanDefender;
|
||||
public bool hasHumanAttacker;
|
||||
|
||||
public int healthPickupAmount;
|
||||
public int armourPickupAmount;
|
||||
public int ammunitionPickupAmount;
|
||||
public int pickupsAmount;
|
||||
}
|
11
Assets/Scripts/Misc/Settings.cs.meta
generated
Executable file
11
Assets/Scripts/Misc/Settings.cs.meta
generated
Executable file
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: e2c47233b9062c84482336b145c6891b
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
18
Assets/Scripts/Misc/SettingsReader.cs
Executable file
18
Assets/Scripts/Misc/SettingsReader.cs
Executable file
@ -0,0 +1,18 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
|
||||
public class SettingsReader : MonoBehaviour
|
||||
{
|
||||
private static SettingsReader instance;
|
||||
public static SettingsReader Instance { get { return instance; } }
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
Debug.Log("init");
|
||||
instance = this;
|
||||
}
|
||||
|
||||
[SerializeField] private Settings gameSettings;
|
||||
public Settings GetSettings { get { return gameSettings; } }
|
||||
}
|
11
Assets/Scripts/Misc/SettingsReader.cs.meta
generated
Executable file
11
Assets/Scripts/Misc/SettingsReader.cs.meta
generated
Executable file
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 8ec3ce69f2a888e4cadd8eb47406ea42
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 1
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
9
Assets/Scripts/Misc/Statistics.cs
Executable file
9
Assets/Scripts/Misc/Statistics.cs
Executable file
@ -0,0 +1,9 @@
|
||||
using UnityEngine;
|
||||
|
||||
public class Statistics : MonoBehaviour
|
||||
{
|
||||
private void Start()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
11
Assets/Scripts/Misc/Statistics.cs.meta
generated
Executable file
11
Assets/Scripts/Misc/Statistics.cs.meta
generated
Executable file
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: bf3fe86787bfb0c4b8751fe495148ede
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
Reference in New Issue
Block a user