Ejemplo n.º 1
0
    public void OnTriggerEnter(Collider other)
    {
        TriggerObject interaction = other.GetComponent <TriggerObject>();

        if (interaction != null)
        {
            if (interaction.GetEntryTransform() == null)
            {
                return;
            }

            //  当玩家碰到触发器,播放使用动画
            Owner.transform.position = interaction.GetEntryTransform().position;
            Owner.transform.rotation = interaction.GetEntryTransform().rotation;

            useMode = false;

            AgentOrder order = AgentOrderFactory.Create(AgentOrder.E_OrderType.E_USE);

            order.InteractionObject = interaction;
            order.Position          = order.InteractionObject.GetEntryTransform().position;
            order.Interaction       = E_InteractionType.On;
            Owner.BlackBoard.OrderAdd(order);

            ActionUseLever actionUseLever = ActionFactory.Create(ActionFactory.E_Type.E_USE_LEVER) as ActionUseLever;
            actionUseLever.InterObj    = interaction;
            actionUseLever.Interaction = E_InteractionType.On;

            GetComponent <AnimComponent>().HandleAction(actionUseLever);

            return;
        }
    }