problems : - there were no test scene - units would appear weird over some tiles - units would not recognize some tiles when trying to know if it could place itself on it solution : - added test scene - tweaked sorting layers in units - added IsCollidable parameter in ILevelObject
19 lines
497 B
C#
19 lines
497 B
C#
using UnityEngine;
|
|
|
|
public class ObjectDraggablePlaceholder : DraggablePlaceholder
|
|
{
|
|
public GameObject Prefab { get; set; }
|
|
public override void Place()
|
|
{
|
|
Prefab.Create(transform.position);
|
|
}
|
|
|
|
public override bool CanBePlacedHere()
|
|
{
|
|
var can = base.CanBePlacedHere();
|
|
|
|
var hasCollidable = LevelManager.Instance.Has<ILevelObject>(obj => transform.position.IsInTile(obj.Position) && obj.IsCollidable);
|
|
|
|
return can || !hasCollidable;
|
|
}
|
|
} |