예제 #1
0
    public void RunawayForPosition(Vector3 position)
    {
        if (!GameConfig.IsMultiMode)
        {
            foreach (AiObject aiObject in activeAiObjects)
            {
                if (aiObject != null && !aiObject.dead)
                {
                    if (GameConfig.IsMultiMode && !aiObject.IsController)
                    {
                        continue;
                    }

                    Vector3 direction = (aiObject.position - position).normalized;
                    direction = AiUtil.RunawayDirectionCorrect(aiObject, direction);

                    aiObject.speed = aiObject.runSpeed;
                    aiObject.desiredMoveDestination = aiObject.position + direction.normalized * 2;
                }
            }
        }

        if (GameConfig.IsMultiMode && IsController)
        {
            RPCServer(EPacketType.PT_AG_RunawayForPosition, position);
        }
    }