Angepasste Garage, verbessertes Icon Asset system, range der türme vorschau beim ziehen
This commit is contained in:
1 parent
5486444dde
commit
5af8655c97
59 files changed
+12079
-457
No files matched your search
@@ -0,0 +1,26 @@
|
||||
using UnityEngine;
|
||||
namespace DepthsOfGreed.HandbookUI
|
||||
{
|
||||
public sealed class RangeArenaClip:MonoBehaviour
|
||||
{
|
||||
public WallBuildArea arena;
|
||||
public Renderer[] outlines;
|
||||
public Renderer fill;
|
||||
public TestPlacementController placement;
|
||||
CombatDefinition combat;bool ability;
|
||||
MaterialPropertyBlock block;
|
||||
public void Configure(HandbookTowerEntry entry){combat=entry.combat;ability=entry.use==BuildUse.Ability;}
|
||||
void LateUpdate()
|
||||
{
|
||||
if(!arena || combat==null || !arena.TryGetRadii(out float radius,out _,out _))return;
|
||||
float angle=transform.eulerAngles.z+combat.forwardAngleOffset;
|
||||
if(block==null)block=new MaterialPropertyBlock();
|
||||
block.Clear();block.SetVector("_ArenaCenter",arena.Center);block.SetFloat("_ArenaRadius",radius);
|
||||
block.SetVector("_Tower",transform.position);block.SetFloat("_Minimum",ability?0:combat.minimumRange);block.SetFloat("_Maximum",ability?combat.areaRadius:combat.unlimitedRange?100000:combat.range);
|
||||
block.SetVector("_Forward",new Vector4(Mathf.Cos(angle*Mathf.Deg2Rad),Mathf.Sin(angle*Mathf.Deg2Rad),0,0));block.SetFloat("_CosHalf",Mathf.Cos((ability?360:AttackRangeGeometry.CoverageAngle(combat))*.5f*Mathf.Deg2Rad));
|
||||
block.SetFloat("_Fill",0);
|
||||
for(int i=0;i<outlines.Length;i++){block.SetFloat("_Dashed",i==1?1:0);outlines[i].SetPropertyBlock(block);}
|
||||
if(fill){fill.transform.position=arena.Center;fill.transform.rotation=Quaternion.identity;fill.transform.localScale=Vector3.one*(radius*2);block.SetFloat("_Fill",1);block.SetFloat("_Dashed",0);fill.SetPropertyBlock(block);}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user