Пример #1
0
 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>();
 }
Пример #2
0
    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);
    }