Esempio n. 1
0
    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;
    }
Esempio n. 2
0
    /// <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);
    }