public bool IsMinionInsideBridge(GroundMinion m) { foreach (var item in _minionsOnBridge) { if (item == null) continue; if (item.gameObject.GetInstanceID() == m.gameObject.GetInstanceID()) return true; } return false; }
/// <summary> /// For bridge event. /// </summary> public bool MinionHasToFall(GroundMinion m, WalkNode nextWalkNode) { if (nextWalkNode.levelEventBridgeNodeName == "" || nextWalkNode.levelEventBridgeNodeName.Contains("pivot")) { return(false); } foreach (var bridge in _levelBridges) { if (nextWalkNode.levelEventBridgeNodeName == bridge.destinationA.levelEventBridgeNodeName) { var isInsideBridge = bridge.bridge_B_GameObject.IsMinionInsideBridge(m); return(isInsideBridge && !bridge.isPointingA); } else if (nextWalkNode.levelEventBridgeNodeName == bridge.destinationB.levelEventBridgeNodeName) { var isInsideBridge = bridge.bridge_A_GameObject.IsMinionInsideBridge(m); return(isInsideBridge && bridge.isPointingA); } } return(false); }