create mob death mehanics
This commit is contained in:
parent
d40bdce3be
commit
4300d43f92
@ -25,7 +25,7 @@ Transform:
|
|||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 1199223373439478175}
|
m_GameObject: {fileID: 1199223373439478175}
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0.0704}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 1137981222306597008}
|
m_Father: {fileID: 1137981222306597008}
|
||||||
@ -93,6 +93,7 @@ GameObject:
|
|||||||
- component: {fileID: 1137981222306597008}
|
- component: {fileID: 1137981222306597008}
|
||||||
- component: {fileID: 8044390793844211544}
|
- component: {fileID: 8044390793844211544}
|
||||||
- component: {fileID: 4520856288189812233}
|
- component: {fileID: 4520856288189812233}
|
||||||
|
- component: {fileID: 3826968412464473223}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: character
|
m_Name: character
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
@ -108,7 +109,7 @@ Transform:
|
|||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 8275013663521780488}
|
m_GameObject: {fileID: 8275013663521780488}
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
m_LocalPosition: {x: -1.9470656, y: 1.0665642, z: -0.07037996}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_Children:
|
m_Children:
|
||||||
- {fileID: 8006084803627600395}
|
- {fileID: 8006084803627600395}
|
||||||
@ -125,7 +126,7 @@ BoxCollider2D:
|
|||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
m_Density: 1
|
m_Density: 1
|
||||||
m_Material: {fileID: 0}
|
m_Material: {fileID: 0}
|
||||||
m_IsTrigger: 0
|
m_IsTrigger: 1
|
||||||
m_UsedByEffector: 0
|
m_UsedByEffector: 0
|
||||||
m_UsedByComposite: 0
|
m_UsedByComposite: 0
|
||||||
m_Offset: {x: -0.020021677, y: 0.0039904118}
|
m_Offset: {x: -0.020021677, y: 0.0039904118}
|
||||||
@ -156,3 +157,24 @@ MonoBehaviour:
|
|||||||
health: 250
|
health: 250
|
||||||
damage: 10
|
damage: 10
|
||||||
moveSpeed: 0.02
|
moveSpeed: 0.02
|
||||||
|
--- !u!50 &3826968412464473223
|
||||||
|
Rigidbody2D:
|
||||||
|
serializedVersion: 4
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 8275013663521780488}
|
||||||
|
m_BodyType: 0
|
||||||
|
m_Simulated: 1
|
||||||
|
m_UseFullKinematicContacts: 0
|
||||||
|
m_UseAutoMass: 0
|
||||||
|
m_Mass: 0.0001
|
||||||
|
m_LinearDrag: 0
|
||||||
|
m_AngularDrag: 0
|
||||||
|
m_GravityScale: 0
|
||||||
|
m_Material: {fileID: 0}
|
||||||
|
m_Interpolate: 0
|
||||||
|
m_SleepingMode: 1
|
||||||
|
m_CollisionDetection: 0
|
||||||
|
m_Constraints: 0
|
||||||
|
@ -43,7 +43,7 @@ BoxCollider2D:
|
|||||||
m_Enabled: 1
|
m_Enabled: 1
|
||||||
m_Density: 1
|
m_Density: 1
|
||||||
m_Material: {fileID: 0}
|
m_Material: {fileID: 0}
|
||||||
m_IsTrigger: 0
|
m_IsTrigger: 1
|
||||||
m_UsedByEffector: 0
|
m_UsedByEffector: 0
|
||||||
m_UsedByComposite: 0
|
m_UsedByComposite: 0
|
||||||
m_Offset: {x: -0.0049001575, y: -0.026252389}
|
m_Offset: {x: -0.0049001575, y: -0.026252389}
|
||||||
@ -71,6 +71,10 @@ MonoBehaviour:
|
|||||||
m_Script: {fileID: 11500000, guid: 7dc89d6f20b8bd496a76c3dad9b1b832, type: 3}
|
m_Script: {fileID: 11500000, guid: 7dc89d6f20b8bd496a76c3dad9b1b832, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
|
characterObject: {fileID: 0}
|
||||||
|
moveSpeed: 0
|
||||||
|
minDist: 0
|
||||||
|
maxDist: 0
|
||||||
--- !u!1 &6540482753690656168
|
--- !u!1 &6540482753690656168
|
||||||
GameObject:
|
GameObject:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
@ -96,7 +100,7 @@ Transform:
|
|||||||
m_PrefabAsset: {fileID: 0}
|
m_PrefabAsset: {fileID: 0}
|
||||||
m_GameObject: {fileID: 6540482753690656168}
|
m_GameObject: {fileID: 6540482753690656168}
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||||
m_LocalPosition: {x: 0, y: 0, z: 0.0704}
|
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||||
m_Children: []
|
m_Children: []
|
||||||
m_Father: {fileID: 5020074052172004519}
|
m_Father: {fileID: 5020074052172004519}
|
||||||
|
@ -567,15 +567,15 @@ PrefabInstance:
|
|||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 1137981222306597008, guid: d58051113365413fe9782fa6b28125fc, type: 3}
|
- target: {fileID: 1137981222306597008, guid: d58051113365413fe9782fa6b28125fc, type: 3}
|
||||||
propertyPath: m_LocalPosition.x
|
propertyPath: m_LocalPosition.x
|
||||||
value: -0.38
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 1137981222306597008, guid: d58051113365413fe9782fa6b28125fc, type: 3}
|
- target: {fileID: 1137981222306597008, guid: d58051113365413fe9782fa6b28125fc, type: 3}
|
||||||
propertyPath: m_LocalPosition.y
|
propertyPath: m_LocalPosition.y
|
||||||
value: 0.49
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 1137981222306597008, guid: d58051113365413fe9782fa6b28125fc, type: 3}
|
- target: {fileID: 1137981222306597008, guid: d58051113365413fe9782fa6b28125fc, type: 3}
|
||||||
propertyPath: m_LocalPosition.z
|
propertyPath: m_LocalPosition.z
|
||||||
value: -0.07037996
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 1137981222306597008, guid: d58051113365413fe9782fa6b28125fc, type: 3}
|
- target: {fileID: 1137981222306597008, guid: d58051113365413fe9782fa6b28125fc, type: 3}
|
||||||
propertyPath: m_LocalRotation.w
|
propertyPath: m_LocalRotation.w
|
||||||
@ -619,11 +619,19 @@ PrefabInstance:
|
|||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 8006084803627600395, guid: d58051113365413fe9782fa6b28125fc, type: 3}
|
- target: {fileID: 8006084803627600395, guid: d58051113365413fe9782fa6b28125fc, type: 3}
|
||||||
propertyPath: m_LocalPosition.x
|
propertyPath: m_LocalPosition.x
|
||||||
value: 0.34
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 8006084803627600395, guid: d58051113365413fe9782fa6b28125fc, type: 3}
|
- target: {fileID: 8006084803627600395, guid: d58051113365413fe9782fa6b28125fc, type: 3}
|
||||||
propertyPath: m_LocalPosition.y
|
propertyPath: m_LocalPosition.y
|
||||||
value: 0.28
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8044390793844211544, guid: d58051113365413fe9782fa6b28125fc, type: 3}
|
||||||
|
propertyPath: m_Offset.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 8044390793844211544, guid: d58051113365413fe9782fa6b28125fc, type: 3}
|
||||||
|
propertyPath: m_Offset.y
|
||||||
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 8275013663521780488, guid: d58051113365413fe9782fa6b28125fc, type: 3}
|
- target: {fileID: 8275013663521780488, guid: d58051113365413fe9782fa6b28125fc, type: 3}
|
||||||
propertyPath: m_Name
|
propertyPath: m_Name
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
public class Mob : MonoBehaviour
|
public class Mob : MonoBehaviour
|
||||||
{
|
{
|
||||||
[SerializeField] private GameObject characterObject;
|
[SerializeField] private GameObject characterObject;
|
||||||
|
[SerializeField] private OverMind overMind;
|
||||||
|
|
||||||
[SerializeField] private float moveSpeed;
|
[SerializeField] private float moveSpeed;
|
||||||
|
|
||||||
@ -66,16 +67,19 @@ void Update()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
void OnTriggerEnter2D(Collider2D col)
|
||||||
private void OnTriggerEnter2D(Collider2D col)
|
|
||||||
{
|
{
|
||||||
print("Detect");
|
Debug.Log("PIZDAAAAAA");
|
||||||
gameObject.SetActive(false);
|
overMind.DeathGoToPull(gameObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void Death()
|
||||||
|
{
|
||||||
|
}
|
||||||
public void SetupMob(OverMind.MobParameters mobParameters)
|
public void SetupMob(OverMind.MobParameters mobParameters)
|
||||||
{
|
{
|
||||||
characterObject = mobParameters.Character;
|
characterObject = mobParameters.Character;
|
||||||
moveSpeed = mobParameters.MoveSpeed;
|
moveSpeed = mobParameters.MoveSpeed;
|
||||||
|
overMind = mobParameters.OverMind;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -16,18 +16,79 @@ public class OverMind : MonoBehaviour
|
|||||||
|
|
||||||
private List<GameObject> _pullEnemies;
|
private List<GameObject> _pullEnemies;
|
||||||
|
|
||||||
|
|
||||||
|
public struct SpawnRegions
|
||||||
|
{
|
||||||
|
public Vector4 TopRegion;
|
||||||
|
public Vector4 BottomRegion;
|
||||||
|
public Vector4 LeftRegion;
|
||||||
|
public Vector4 RightRegion;
|
||||||
|
}
|
||||||
|
|
||||||
|
private SpawnRegions generatedSpawnRegions;
|
||||||
|
|
||||||
public struct MobParameters
|
public struct MobParameters
|
||||||
{
|
{
|
||||||
public float MoveSpeed;
|
public float MoveSpeed;
|
||||||
public GameObject Character;
|
public GameObject Character;
|
||||||
|
public OverMind OverMind;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Start()
|
void Start()
|
||||||
{
|
{
|
||||||
PreHeaterSpawn();
|
PreHeaterSpawn();
|
||||||
StartCoroutine (spawnMobsCourutine());
|
StartCoroutine (spawnMobsCourutine());
|
||||||
}
|
print(GenerateSpawnRegions().TopRegion);
|
||||||
|
generatedSpawnRegions = GenerateSpawnRegions();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public SpawnRegions GenerateSpawnRegions()
|
||||||
|
{
|
||||||
|
const float spawnBorder = 2f;
|
||||||
|
var stageDimensions = Camera.main.ScreenToWorldPoint(new Vector3(Screen.width, Screen.height,0));
|
||||||
|
print(stageDimensions);
|
||||||
|
|
||||||
|
var generatedSpawnRegions = new SpawnRegions();
|
||||||
|
generatedSpawnRegions.TopRegion = new Vector4(
|
||||||
|
-stageDimensions.x, stageDimensions.x,
|
||||||
|
stageDimensions.y, stageDimensions.y + spawnBorder);
|
||||||
|
generatedSpawnRegions.BottomRegion = new Vector4(
|
||||||
|
-stageDimensions.x, stageDimensions.x,
|
||||||
|
-stageDimensions.y, -stageDimensions.y - spawnBorder);
|
||||||
|
generatedSpawnRegions.LeftRegion = new Vector4(
|
||||||
|
-stageDimensions.x, -stageDimensions.x - spawnBorder,
|
||||||
|
stageDimensions.y, -stageDimensions.y);
|
||||||
|
generatedSpawnRegions.RightRegion = new Vector4(
|
||||||
|
stageDimensions.x, -stageDimensions.x + spawnBorder,
|
||||||
|
stageDimensions.y, -stageDimensions.y);
|
||||||
|
|
||||||
|
|
||||||
|
return generatedSpawnRegions;
|
||||||
|
}
|
||||||
|
|
||||||
|
private Vector4 PickRandomSpawnBorder()
|
||||||
|
{
|
||||||
|
var randomIndex = Random.Range(1, 4);
|
||||||
|
var _randomSpawnBorder = new Vector4();
|
||||||
|
switch (randomIndex)
|
||||||
|
{
|
||||||
|
case 1:
|
||||||
|
_randomSpawnBorder = generatedSpawnRegions.TopRegion;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
_randomSpawnBorder = generatedSpawnRegions.BottomRegion;
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
_randomSpawnBorder = generatedSpawnRegions.LeftRegion;
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
_randomSpawnBorder = generatedSpawnRegions.RightRegion;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return _randomSpawnBorder;
|
||||||
|
}
|
||||||
private void PreHeaterSpawn()
|
private void PreHeaterSpawn()
|
||||||
{
|
{
|
||||||
for (var i = 0; i < pullSize; i++)
|
for (var i = 0; i < pullSize; i++)
|
||||||
@ -39,7 +100,8 @@ private void PreHeaterSpawn()
|
|||||||
var newMobParameters = new MobParameters
|
var newMobParameters = new MobParameters
|
||||||
{
|
{
|
||||||
MoveSpeed = mobMoveSpeed,
|
MoveSpeed = mobMoveSpeed,
|
||||||
Character = characterObject
|
Character = characterObject,
|
||||||
|
OverMind = this
|
||||||
};
|
};
|
||||||
|
|
||||||
newMob.GetComponent<Mob>().SetupMob(newMobParameters);
|
newMob.GetComponent<Mob>().SetupMob(newMobParameters);
|
||||||
@ -48,15 +110,10 @@ private void PreHeaterSpawn()
|
|||||||
|
|
||||||
Vector3 GenerateRandomSpawnMobPoint()
|
Vector3 GenerateRandomSpawnMobPoint()
|
||||||
{
|
{
|
||||||
var spawnBorder = 2f;
|
var _randomSpawnRegion = PickRandomSpawnBorder();
|
||||||
Vector3 stageDimensions = Camera.main.ScreenToWorldPoint(new Vector3(Screen.width, Screen.height,0));
|
|
||||||
print(stageDimensions);
|
|
||||||
var xCoords = new Vector3(stageDimensions.x, stageDimensions.x + spawnBorder);
|
|
||||||
var yCoords = new Vector3(stageDimensions.y, stageDimensions.y + spawnBorder);
|
|
||||||
|
|
||||||
var spawnPoint = new Vector3(
|
var spawnPoint = new Vector3(
|
||||||
Random.Range(xCoords.x, xCoords.y),
|
Random.Range(_randomSpawnRegion.x,_randomSpawnRegion.y),
|
||||||
Random.Range(xCoords.x, xCoords.y),
|
Random.Range(_randomSpawnRegion.z,_randomSpawnRegion.w),
|
||||||
0
|
0
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -80,6 +137,12 @@ IEnumerator spawnMobsCourutine()
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void DeathGoToPull(GameObject mob)
|
||||||
|
{
|
||||||
|
mob.SetActive(false);
|
||||||
|
mob.transform.parent = mobPull.transform;
|
||||||
|
}
|
||||||
// Update is called once per frame
|
// Update is called once per frame
|
||||||
void Update()
|
void Update()
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user