Files
beyond/Assets/ThirdParty/CHARACTERS/SakariAssets/BugRegion/Scripts/SwarmAI.cs
2024-11-20 15:21:28 +01:00

45 lines
1.4 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SwarmAI : MonoBehaviour {
public BugsAI[] Bugs;
BugTargetStruct[] Targets;
public Vector2 TargetIntervalRange = new Vector2(0.1f, 0.2f);
public Vector2 xRegionSize = new Vector2(-1f, 1f);
public Vector2 yRegionSize = new Vector2(-1f, 1f);
// Use this for initialization
void Awake () {
Targets = new BugTargetStruct[Bugs.Length];
for(int i = 0; i < Bugs.Length; i++)
{
Targets[i] = new BugTargetStruct();
Targets[i].Trans = new GameObject("BugTarget" + (i + 1)).transform;
Targets[i].Trans.parent = transform;
Targets[i].Interval = Random.Range(TargetIntervalRange.x,TargetIntervalRange.y);
Targets[i].tick = 0;
Bugs[i].BugTarget = Targets[i].Trans;
}
}
// Update is called once per frame
void Update () {
for(int i = 0; i < Targets.Length; i++)
{
Targets[i].tick += Time.deltaTime;
if (Targets[i].tick > Targets[i].Interval)
{
Targets[i].Trans.localPosition = new Vector3(Random.Range(xRegionSize.x, xRegionSize.y), 0, Random.Range(yRegionSize.x, yRegionSize.y));
Targets[i].tick = 0;
}
}
}
}
public struct BugTargetStruct
{
public Transform Trans;
public float Interval;
public float tick;
}