protected RangeRelationship(RegisterTile obj1, RegisterTile obj2, float maxRange, Action <RangeRelationship> onRangeExceeded) : base(obj1, obj2) { this.maxRange = maxRange; this.onRangeExceeded = onRangeExceeded; pushPull1 = obj1.GetComponent <PushPull>(); pushPull2 = obj2.GetComponent <PushPull>(); }
public bool IsNoGravityAt(Vector3Int position) { for (var i = 0; i < LayersKeys.Length; i++) { LayerType layer = LayersKeys[i]; if (layer != LayerType.Objects && HasTile(position, layer)) { return(false); } if (layer == LayerType.Objects) { var objects = ((ObjectLayer)LayersValues[i]).Objects.Get(position); for (var j = 0; j < objects.Count; j++) { RegisterTile o = objects[j]; if (o is RegisterObject) { PushPull pushPull = o.GetComponent <PushPull>(); if (!pushPull || pushPull.isNotPushable) { return(false); } } } } } return(true); }